-
Notifications
You must be signed in to change notification settings - Fork 45
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
gitdist: Add Default Development Branch Support #235
Comments
@jmgate, let's meet tomorrow and talk about the EMPIRE workflow and how this might fit in. We should go the EMPIRE workflows and as they relate to Trilinos. |
Here's an initial implementation that allows a user to add default development branches to the .gitdist file in the form . master otherRepo develop thirdRepo master If those default development branches aren't specified, master is assumed. The user can then pass _DEFAULT_BRANCH_ to any command that accepts a reference and gitdist should replace _DEFAULT_BRANCH_ with the appropriate branch from the .gitdist file.
Here's an initial implementation that allows a user to add default development branches to the .gitdist file in the form . master otherRepo develop thirdRepo master If those default development branches aren't specified, master is assumed. The user can then pass _DEFAULT_BRANCH_ to any command that accepts a reference and gitdist should replace _DEFAULT_BRANCH_ with the appropriate branch from the .gitdist file.
@bartlettroscoe, while I'm grateful we'll be able to use a
If it shouldn't make it into TriBITs, though, that's fine—I'll just keep it in my fork. |
@jmgate, okay, I can see the desire for this in various use cases. But before we can merge this to the TriBITS 'master' branchs we need to add automated tests and documentation. Can you look into doing this? You can find automated tests for gitdist under TriBITS/test/python_utils/gitdist_UnitTests.py (see the ctest test in the CMakeLists.txt file). And documentation should be added as another |
We might call this topic |
I'll look into it—thanks @bartlettroscoe. |
Added documentation for the _DEFAULT_BRANCH_ feature. You can access it with --dist-help=default-branch.
Added the help topic—looking into unit testing now… |
Here's an initial implementation that allows a user to add default development branches to the .gitdist file in the form . master otherRepo develop thirdRepo master If those default development branches aren't specified, master is assumed. The user can then pass _DEFAULT_BRANCH_ to any command that accepts a reference and gitdist should replace _DEFAULT_BRANCH_ with the appropriate branch from the .gitdist file. The documentation for this feature can be accessed with --dist-help=default-branch.
Here's an initial implementation that allows a user to add default development branches to the .gitdist file in the form . master otherRepo develop thirdRepo master If those default development branches aren't specified, master is assumed. The user can then pass _DEFAULT_BRANCH_ to any command that accepts a reference and gitdist should replace _DEFAULT_BRANCH_ with the appropriate branch from the .gitdist file. The documentation for this feature can be accessed with --dist-help=default-branch.
@bartlettroscoe, this initial implementation is now documented ( Do you suppose there's any need to support a |
I don't think we would need a I will take a look. |
Here's an initial implementation that allows a user to add default development branches to the .gitdist file in the form . master otherRepo develop thirdRepo master If those default development branches aren't specified, master is assumed. The user can then pass _DEFAULT_BRANCH_ to any command that accepts a reference and gitdist should replace _DEFAULT_BRANCH_ with the appropriate branch from the .gitdist file. The documentation for this feature can be accessed with --dist-help=default-branch.
Here's an initial implementation that allows a user to add default development branches to the .gitdist file in the form . master otherRepo develop thirdRepo master If those default development branches aren't specified, master is assumed. The user can then pass _DEFAULT_BRANCH_ to any command that accepts a reference and gitdist should replace _DEFAULT_BRANCH_ with the appropriate branch from the .gitdist file. The documentation for this feature can be accessed with --dist-help=default-branch.
I also moved 'default-branch' before 'usage-tips' because I think that is a more natural order, expecially for --dist-help=all.
* Improve error messages from new TriBITS usage checks (TriBITSPub/TriBITS#200). * Some new features for gitdist: - default-branch (TriBITSPub/TriBITS#235) - move-to-base-dir (TriBITSPub/TriBITS#212)
@bartlettroscoe, I had a realization while driving home today. The reason we as applications wanted to stay on a
master
/develop
workflow—the reason for all the git trickery of renamingdevelop
toreal-develop
and then creating a newdevelop
branch for the application—was coming at least in part from a desire to usegitdist
. For instance, if the application fork of Trilinos were to have the usualmaster
anddevelop
branches, and then aapp-dev
branch along the lines of what you showed for ROL, an app developer would have to do the following:and that little extra you need to do for Trilinos would be frustrating and easy to forget.
My earlier solution was all the git trickery in the application fork of Trilinos, but I realized we could solve the same problem in
gitdist
instead. Suppose we add some way to configuregitdist
such that you can specify the main development branch in all the repos you're usinggitdist
to manage. I don't know if this would belong in the.gitdist
file or elsewhere. Then we could add a command togitdist
to check out that default branch in all repos. For instance:Alternatively we may be able to do something along the lines of what you did with the repo version file, such that
gitdist checkout __DEFAULT_BRANCH__
would understand what you meant. Actually I think I like this better, because we could also figure out how togitdist merge __DEFAULT_BRANCH__
orgitdist rebase __DEFAULT_BRANCH__
, etc.I can try to whip something up in the morning.
The text was updated successfully, but these errors were encountered: