git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Eric Wong <normalperson@yhbt.net>
To: git@vger.kernel.org
Cc: junkio@cox.net, Eric Wong <normalperson@yhbt.net>
Subject: [PATCH 3/9] git-svn: Allow for more argument types for commit (from..to)
Date: Mon, 20 Feb 2006 10:57:26 -0800	[thread overview]
Message-ID: <1140461846433-git-send-email-normalperson@yhbt.net> (raw)
In-Reply-To: <11404618464102-git-send-email-normalperson@yhbt.net>

Allow 'from..to' notation from the command line.

More liberal sha1 parsing when reading from stdin no longer requires the
sha1 to be the first character, so a leading 'commit ' string is OK.

Signed-off-by: Eric Wong <normalperson@yhbt.net>

---

 contrib/git-svn/git-svn     |   13 ++++++++++---
 contrib/git-svn/git-svn.txt |    2 +-
 2 files changed, 11 insertions(+), 4 deletions(-)

4d8326c4868461e8a48a4e25ef11ece6e9f92843
diff --git a/contrib/git-svn/git-svn b/contrib/git-svn/git-svn
index 477ec16..5f23d6b 100755
--- a/contrib/git-svn/git-svn
+++ b/contrib/git-svn/git-svn
@@ -216,14 +216,21 @@ sub commit {
 		print "Reading from stdin...\n";
 		@commits = ();
 		while (<STDIN>) {
-			if (/^([a-f\d]{6,40})\b/) {
+			if (/\b([a-f\d]{6,40})\b/) {
 				unshift @commits, $1;
 			}
 		}
 	}
 	my @revs;
-	foreach (@commits) {
-		push @revs, (safe_qx('git-rev-parse',$_));
+	foreach my $c (@commits) {
+		chomp(my @tmp = safe_qx('git-rev-parse',$c));
+		if (scalar @tmp == 1) {
+			push @revs, $tmp[0];
+		} elsif (scalar @tmp > 1) {
+			push @revs, reverse (safe_qx('git-rev-list',@tmp));
+		} else {
+			die "Failed to rev-parse $c\n";
+		}
 	}
 	chomp @revs;
 
diff --git a/contrib/git-svn/git-svn.txt b/contrib/git-svn/git-svn.txt
index 9912f5a..07a236f 100644
--- a/contrib/git-svn/git-svn.txt
+++ b/contrib/git-svn/git-svn.txt
@@ -149,7 +149,7 @@ Tracking and contributing to an Subversi
 # Commit only the git commits you want to SVN::
 	git-svn commit <tree-ish> [<tree-ish_2> ...]
 # Commit all the git commits from my-branch that don't exist in SVN::
-	git rev-list --pretty=oneline git-svn-HEAD..my-branch | git-svn commit
+	git commit git-svn-HEAD..my-branch
 # Something is committed to SVN, pull the latest into your branch::
 	git-svn fetch && git pull . git-svn-HEAD
 
-- 
1.2.0.gdee6

  reply	other threads:[~2006-02-20 18:57 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-02-20 18:57 git-svn: nearing 1.0.0 Eric Wong
2006-02-20 18:57 ` [PATCH 1/9] git-svn: fix a typo in defining the --no-stop-on-copy option Eric Wong
2006-02-20 18:57   ` [PATCH 2/9] git-svn: allow --find-copies-harder and -l<num> to be passed on commit Eric Wong
2006-02-20 18:57     ` Eric Wong [this message]
2006-02-20 18:57       ` [PATCH 4/9] git-svn: remove any need for the XML::Simple dependency Eric Wong
2006-02-20 18:57         ` [PATCH 5/9] git-svn: change ; to && in addremove() Eric Wong
2006-02-20 18:57           ` [PATCH 6/9] contrib/git-svn.txt: add a note about renamed/copied directory support Eric Wong
2006-02-20 18:57             ` [PATCH 7/9] git-svn: fix several corner-case and rare bugs with 'commit' Eric Wong
2006-02-20 18:57               ` [PATCH 8/9] contrib/git-svn: add Makefile, test, and associated ignores Eric Wong
2006-02-20 18:57                 ` [PATCH 9/9] git-svn: 0.9.1: add --version and copyright/license (GPL v2+) information Eric Wong

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=1140461846433-git-send-email-normalperson@yhbt.net \
    --to=normalperson@yhbt.net \
    --cc=git@vger.kernel.org \
    --cc=junkio@cox.net \
    /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).