git@vger.kernel.org list mirror (unofficial, one of many)
 help / color / mirror / code / Atom feed
* [RFC] svnimport/cvsimport: force creation of tags that already exist.
@ 2007-09-07 15:42 Michael Smith
  2007-09-07 20:54 ` Junio C Hamano
  0 siblings, 1 reply; 3+ messages in thread
From: Michael Smith @ 2007-09-07 15:42 UTC (permalink / raw)
  To: git

Hi all,

git-svnimport was changed recently to use git-tag to make tags (47ee8ed2). 
I've had to add the "-f" option to import a repository where a tag was 
moved. I think git-cvsimport would have the same problem.

I understand moving tags is frowned upon in Git. I don't know how common 
the practise is in Subversion and CVS, or whether it makes sense to 
make the import scripts force tag creation by default.

Mike

---
 git-cvsimport.perl |    2 +-
 git-svnimport.perl |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/git-cvsimport.perl b/git-cvsimport.perl
index ba23eb8..2954fb8 100755
--- a/git-cvsimport.perl
+++ b/git-cvsimport.perl
@@ -779,7 +779,7 @@ sub commit {
 		$xtag =~ tr/_/\./ if ( $opt_u );
 		$xtag =~ s/[\/]/$opt_s/g;
 
-		system('git-tag', $xtag, $cid) == 0
+		system('git-tag', '-f', $xtag, $cid) == 0
 			or die "Cannot create tag $xtag: $!\n";
 
 		print "Created tag '$xtag' on '$branch'\n" if $opt_v;
diff --git a/git-svnimport.perl b/git-svnimport.perl
index 8c17fb5..d3ad5b9 100755
--- a/git-svnimport.perl
+++ b/git-svnimport.perl
@@ -873,7 +873,7 @@ sub commit {
 
 		$dest =~ tr/_/\./ if $opt_u;
 
-		system('git-tag', $dest, $cid) == 0
+		system('git-tag', '-f', $dest, $cid) == 0
 			or die "Cannot create tag $dest: $!\n";
 
 		print "Created tag '$dest' on '$branch'\n" if $opt_v;
-- 
1.5.2.1

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [RFC] svnimport/cvsimport: force creation of tags that already exist.
  2007-09-07 15:42 [RFC] svnimport/cvsimport: force creation of tags that already exist Michael Smith
@ 2007-09-07 20:54 ` Junio C Hamano
  2007-09-07 21:35   ` [PATCH] (cvs|svn)import: Ask git-tag to overwrite old tags Michael Smith
  0 siblings, 1 reply; 3+ messages in thread
From: Junio C Hamano @ 2007-09-07 20:54 UTC (permalink / raw)
  To: Michael Smith; +Cc: git

Michael Smith <msmith@cbnco.com> writes:

> I understand moving tags is frowned upon in Git. I don't know how common 
> the practise is in Subversion and CVS, or whether it makes sense to 
> make the import scripts force tag creation by default.

I think the patch itself makes sense.  If for some reason the
importer detects that the CVS or SVN history moved a tag, we
either:

    (1) have a way to keep track of the versions of the tag; or
    (2) allow it and make it "last one wins" semantics; or
    (3) ignore it and make it "first one wins" semantics.  

Erroring out complaining that the tag cannot be created, as the
current code does, does not make any sense.

The patch needs to be accompanied with a better commit log
description.  I am guessing that with your change the semantics
would become (2) above (assuming that cvsps or whoever reads the
history of the other side gives events in chronological order),
but you should not force readers of your commit log message to
guess.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH] (cvs|svn)import: Ask git-tag to overwrite old tags.
  2007-09-07 20:54 ` Junio C Hamano
@ 2007-09-07 21:35   ` Michael Smith
  0 siblings, 0 replies; 3+ messages in thread
From: Michael Smith @ 2007-09-07 21:35 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

If the tag was moved in CVS or SVN history, it will be moved in the
imported history as well. Tag history is not tracked.
---
 git-cvsimport.perl |    2 +-
 git-svnimport.perl |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/git-cvsimport.perl b/git-cvsimport.perl
index ba23eb8..2954fb8 100755
--- a/git-cvsimport.perl
+++ b/git-cvsimport.perl
@@ -779,7 +779,7 @@ sub commit {
 		$xtag =~ tr/_/\./ if ( $opt_u );
 		$xtag =~ s/[\/]/$opt_s/g;
 
-		system('git-tag', $xtag, $cid) == 0
+		system('git-tag', '-f', $xtag, $cid) == 0
 			or die "Cannot create tag $xtag: $!\n";
 
 		print "Created tag '$xtag' on '$branch'\n" if $opt_v;
diff --git a/git-svnimport.perl b/git-svnimport.perl
index 8c17fb5..d3ad5b9 100755
--- a/git-svnimport.perl
+++ b/git-svnimport.perl
@@ -873,7 +873,7 @@ sub commit {
 
 		$dest =~ tr/_/\./ if $opt_u;
 
-		system('git-tag', $dest, $cid) == 0
+		system('git-tag', '-f', $dest, $cid) == 0
 			or die "Cannot create tag $dest: $!\n";
 
 		print "Created tag '$dest' on '$branch'\n" if $opt_v;
-- 
1.5.3.1.20.gb860

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2007-09-07 21:35 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-09-07 15:42 [RFC] svnimport/cvsimport: force creation of tags that already exist Michael Smith
2007-09-07 20:54 ` Junio C Hamano
2007-09-07 21:35   ` [PATCH] (cvs|svn)import: Ask git-tag to overwrite old tags Michael Smith

Code repositories for project(s) associated with this inbox:

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).