From: "Geoffrey Irving" <irving@naml.us>
To: git@vger.kernel.org
Subject: cherry picking changesets instead of commits
Date: Wed, 28 May 2008 11:06:10 -0700 [thread overview]
Message-ID: <7f9d599f0805281106w746a0469u6c483d64cf75b823@mail.gmail.com> (raw)
I have a project stored in a git repository with other versions stored
in both cvs and perforce (sadly). I want the ability to propagate
changes back and forth between all three repositories without mangling
the git history. I specifically want to avoid (1) having two copies
of each commit (e.g., an initial version and a version pulled from
cvsimport) and (2) commits full of git-p4 metadata (the [git-p4] lines
in commit messages).
One way to do this would be to have cvs branch imported using "git
cvsimport", and a perforce branch imported via "git-p4", and
communicate between the cvs/p4 branches and the main git branches
entirely through cherry picking. Unfortunately, "git cherry" doesn't
recognize when commits with potentially different author names or log
messages polluted with "[git-p4]" produce the same changeset, so if I
export a change from the git master branch through cvsexportcommit and
update the cvs branch with cvsimport, "git cherry" will report that
the change doesn't exist on the git master branch.
Has anyone tackled this problem before? Would it be straightforward
to add an option to "git cherry" to ignore differences in metadata?
The cherry documentation doesn't give its criteria for when commits
match, and I'm not familiar enough with the code yet to figure out
those criteria directly from cmd_cherry in builtin-log.c.
Thanks,
Geoffrey
next reply other threads:[~2008-05-28 18:07 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-28 18:06 Geoffrey Irving [this message]
2008-05-28 18:19 ` cherry picking changesets instead of commits Junio C Hamano
2008-05-28 18:28 ` Geoffrey Irving
2008-05-28 18:46 ` Junio C Hamano
2008-05-28 19:42 ` Geoffrey Irving
2008-05-28 20:46 ` Junio C Hamano
2008-05-28 21:14 ` Geoffrey Irving
2008-05-28 22:38 ` Jeff King
2008-05-28 22:48 ` Jeff King
2008-05-28 23:56 ` Junio C Hamano
2008-05-29 0:12 ` Jeff King
2008-05-29 0:04 ` [PATCH] Documentation: git-cherry uses git-patch-id Junio C Hamano
2008-05-29 0:07 ` Geoffrey Irving
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7f9d599f0805281106w746a0469u6c483d64cf75b823@mail.gmail.com \
--to=irving@naml.us \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).