-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Workflow with regular git branches #14
Comments
I apologize for the delay in responding. First off, the example you gave:
Would actually be output by the
Showing that There’s actually a repository you may want to look at https://repo.or.cz/git/gitweb.git that is currently set up using TopGit with multiple TopGit patch branches and some TopGit stage branches and a TopGit “base” branch (it’s “ It tracks various gitweb patches used by girocco. It contains the entire “Git” repository since that’s what the patches are based on. It works like this. The “base” branch (as output by
Always points at a Git release tag. For example, using this command:
produces this output (yes, we’re not on the very latest gitweb...yet):
The first few lines of the
Currently all the patches are based on the Git tag To update them to be based on, say, tag
Then, if I were going to submit one (or more) of the patches to the Git mailing list for consideration, I would use the Now to respond to your questions.
Yes. You could always manufacture a TopGit base branch for
Maybe. As long as Say you had this before the rebase:
Then upstream gets a new release and you have this:
And then you rebase like so:
Where If you had a TopGit stage branch that contained
After the rebase it looks like this:
And then you run
That may, or may not, behave in a friendly fashion. Git will probably notice that However, if you get some gnarly conflicts during the rebase of For an alternative, you could do something like this:
Which will create a TopGit
Then, instead of rebasing
And now the new
There is a
Again, extra work for just a single branch, but if you have a complex set of patches being maintained (such as https://repo.or.cz/git/gitweb.git), it can be a great time saver. |
I'm frequently working on repositories where I have a dozen branches implementing various features, and frequently have to cooperate with upstream for months before they are merged. Meanwhile, I work on other features which depend on those patches. I was currently merging my branches manually, which was time consuming.
Sounds like topgit does exactly what I was doing manually, but I cannot understand what sort of workflow I should use in a few scenarios.
Let's assume I already created a PR branch that I need to work on before I started using topgit. Can I safely "depend" on it in a [STAGE] branch?
Now let's say upstream makes a new release while the regular branch was started. They ask to rebase on top of the new release. There's no [BASE] branch here, as the branch was created prior to using topgit. Can I rebase normally?
Another scenario involving rebase: let's assume I have two feature branches (feat1/feat2), with feat2 built on top of feat1.
At some point feat1 is implemented by upstream differently (not using the same commits but in a way that would make feat2 still working), making my changes redundant. What I'd do normally would be to drop feat1 and rebase feat2 on top of new master. What should I do with topgit here?
The text was updated successfully, but these errors were encountered: