[petsc-users] [petsc-dev] petsc git next branch *is* unwound!
Nystrom, William David
wdn at lanl.gov
Fri Oct 10 21:30:19 CDT 2014
Jed,
I don't think your reply below really does what I want to do. My wdn_mods_next branch is
a branch that I maintain that was derived from the next branch. I do not merge changes
from wdn_mods_next into the next branch. The next branch is supposed to be a mirror of
the official petsc next branch and I only update the next branch in my petsc clones by first
performing a "git remote -v update origin" in my bare mirror repo which mirrors the petsc maint,
master and next branches as well as containing any additional branches that I create.
So, I update wdn_mods_next from the latest copy of next that I have by using the following
command:
git pull origin next
in the petsc directory where I have wdn_mods_next checked out. Generally this is easy and
has no conflicts to resolve but on a rare occasion, I might have to resolve a conflict. This is
because my wdn_mods_next branch does not differ much from next - just a few hacks I have
had to resort to.
So here is one way I think I could accomplish my goal. In my bare, mirror repo execute
git remote -v update origin
At this point my bare mirror repo now has a copy of the new unwound next branch - if I am
understanding correctly.
Then in a clone of my mirror repo execute
git checkout wdn_mods_next
git reset --hard next
git push origin +wdn_mods_next
If I understand correctly, then my wdn_mods_next branch would be identical to the next
branch and I would not have the changes I made to next that resulted in wdn_mods_next.
Then I could untar a file of those changes on top of my clone with wdn_mods_next checked
out and recommit those changes. This is about half a dozen files. But this seems like a
hacky way to do business that is only reasonable because I have a small number of files.
Isn't there a better way to do this?
Perhaps you or Satish might ask why I am using next instead of master. The reason is that
I am forever uncovering some bug in petsc that you guys fix on the next branch and I don't
want to wait for several days before it gets pulled into master and I can resume productive
work.
So maybe there is some flaw or weakness in my git work flow. I have been using git for
several years now but am not a power user. I like git but do not really want to have to
become a git guru. However, this petsc policy of periodically unwinding the next branch
seems to always disrupt my workflow - so I have not found a robust way to deal with it
yet.
Dave
________________________________________
From: Jed Brown [jed at jedbrown.org]
Sent: Thursday, October 02, 2014 4:39 PM
To: Satish Balay; Nystrom, William David
Cc: petsc-users; petsc-dev at mcs.anl.gov
Subject: Re: [petsc-dev] [petsc-users] petsc git next branch *is* unwound!
Satish Balay <balay at mcs.anl.gov> writes:
> You would have to delete both 'next' and 'wdn_mods_next' branches from
> all your clones - and recreate them.
Do your normal "git remote update" (or git fetch) in your "master" clone
(confusing to use the same name to refer to a repository and a branch).
I'll call the repository Mirror. Anyway, you should see that all three
branches are updated. 'maint' and 'master' should fast-forward, while
'next' will say "forced update".
After that, recreate 'next' on the clones just like in Satish's original
email.
More information about the petsc-users
mailing list