Re: [PATCH] cvstrack: work on imported cvs and other git branches

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Jul 1, 2007, at 6:11 PM, Johannes Schindelin wrote:

On Sun, 1 Jul 2007, Steffen Prohaska wrote:

On Jul 1, 2007, at 4:35 PM, Johannes Schindelin wrote:

On Sun, 1 Jul 2007, Steffen Prohaska wrote:

The idea is to import a cvs repository using git cvsimport; build a
perfect history in git by cherry picking commits that are only in
cvs but not in git; and export only summaries back to cvs. Cvs
imports are organized on a separate git branch. git is used for
merging. The differences can be sent back to cvs as a squashed
commit together with a shortlog. Sent git commits are noted in the
cvs commit message and will be ignored in subsequent cvs imports.

Wouldn't it be more intuitive to add a --squash option to
git-cvsexportcommit?

Maybe.

But how to handle commits that are sent to cvs and come back
through git-cvsimport?

Probably I do not really understand what you are doing... If the commits come from cvs, then they are already there, no? So where do you want to
commit the squashed commits?

I do some work in git and want to send this work to cvs. I squash all
_git_ commits into a single _cvs_ commit. In the next incremental
import from cvs the squashed commit comes back to git (at least after
cvsps time fuzz passed). If I just merged from the cvsimport branch
I'd build a history in git that contains the changes twice; once in
a sane way from the original git history and a second time because it
was sent to cvs and came back through git-cvsimport.

What I try to achieve is to build a history in git that has
- every commit that was initially committed to cvs only once.
- every commit that was initially committed to git only once.
- provides a stable git branch that can be cloned by others.
In addition I need a way to send changes from git to cvs such that cvs
has all changes that are available in git.

Some examples of what I may want to do in git:
- just work as if cvs wasn't there and create topic branches. Only
  after work is finished the change should be sent to cvs. But changes
  from cvs should be continuously integrated.
- track cvs topic branches for a longer period of time and merge
them several times using git and after a final merge, send the changes
  back to cvs.

The background is, I plan to convince approximately 60 developers
to migrate from CVS to git and I'm searching for a way to start the
transition with some beta testers, while maintaining full cvs
infrastructure in place for the remaining users.

Currently, I think that I can handle this with the scripts I sent in
the patch.

	Steffen

-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux