* a few Topgit patches
@ 2008-12-23 14:30 Uwe Kleine-König
2008-12-23 14:32 ` [PATCH TOPGIT] tg export: implement skipping empty patches for collapse driver Uwe Kleine-König
2008-12-25 14:58 ` a few Topgit patches martin f krafft
0 siblings, 2 replies; 8+ messages in thread
From: Uwe Kleine-König @ 2008-12-23 14:30 UTC (permalink / raw)
To: git; +Cc: martin f. krafft, Petr Baudis
Hello,
I hacked using topgit for some time now, and found the following changes
to topgit useful:
Uwe Kleine-König (3):
tg export: implement skipping empty patches for collapse driver
tg export: Implement flattening patch paths for quilt mode
tg export (quilt): Implement numbering the patches
README | 1 -
tg-export.sh | 52 ++++++++++++++++++++++++++++++++++++++++++++--------
2 files changed, 44 insertions(+), 9 deletions(-)
You can fetch or pull these from
git://git.pengutronix.de/git/ukl/topgit.git master
or browse them using the following URL:
http://git.pengutronix.de/?p=ukl/topgit.git
For review I send the patches as a reply to this mail.
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH TOPGIT] tg export: implement skipping empty patches for collapse driver
2008-12-23 14:30 a few Topgit patches Uwe Kleine-König
@ 2008-12-23 14:32 ` Uwe Kleine-König
2008-12-23 14:32 ` [PATCH TOPGIT] tg export: Implement flattening patch paths for quilt mode Uwe Kleine-König
2008-12-25 14:58 ` a few Topgit patches martin f krafft
1 sibling, 1 reply; 8+ messages in thread
From: Uwe Kleine-König @ 2008-12-23 14:32 UTC (permalink / raw)
To: git; +Cc: martin f. krafft, Petr Baudis
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
README | 1 -
tg-export.sh | 10 +++++++---
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/README b/README
index c19985f..8be0d17 100644
--- a/README
+++ b/README
@@ -414,7 +414,6 @@ tg export
TODO: Make stripping of non-essential headers configurable
TODO: Make stripping of [PATCH] and other prefixes configurable
TODO: --mbox option for other mode of operation
- TODO: prevent exporting of empty patches by the collapse driver
TODO: -a option to export all branches
TODO: For quilt exporting, use a temporary branch and remove it when
done - this would allow producing conflict-less series
diff --git a/tg-export.sh b/tg-export.sh
index afb6f95..95aa346 100644
--- a/tg-export.sh
+++ b/tg-export.sh
@@ -91,9 +91,13 @@ collapsed_commit()
$(for p in $parent; do echo -p $p; done))"
fi
- (printf '%s\n\n' "$SUBJECT"; cat "$playground/^msg") |
- git stripspace |
- git commit-tree "$(pretty_tree "$name")" -p "$parent"
+ if branch_empty "$name"; then
+ echo "$parent";
+ else
+ (printf '%s\n\n' "$SUBJECT"; cat "$playground/^msg") |
+ git stripspace |
+ git commit-tree "$(pretty_tree "$name")" -p "$parent"
+ fi;
echo "$name" >>"$playground/^ticker"
}
--
1.5.6.5
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH TOPGIT] tg export: Implement flattening patch paths for quilt mode
2008-12-23 14:32 ` [PATCH TOPGIT] tg export: implement skipping empty patches for collapse driver Uwe Kleine-König
@ 2008-12-23 14:32 ` Uwe Kleine-König
2008-12-23 14:32 ` [PATCH TOPGIT] tg export (quilt): Implement numbering the patches Uwe Kleine-König
0 siblings, 1 reply; 8+ messages in thread
From: Uwe Kleine-König @ 2008-12-23 14:32 UTC (permalink / raw)
To: git; +Cc: martin f. krafft, Petr Baudis
The result of providing the new flag -f is that the exported patches are
all placed directly in the output directory, not in subdirectories.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
tg-export.sh | 23 ++++++++++++++++++++---
1 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/tg-export.sh b/tg-export.sh
index 95aa346..06b9c8d 100644
--- a/tg-export.sh
+++ b/tg-export.sh
@@ -7,6 +7,7 @@ name=
branches=
output=
driver=collapse
+flatten=false
## Parse options
@@ -16,6 +17,8 @@ while [ -n "$1" ]; do
case "$arg" in
-b)
branches="$1"; shift;;
+ -f)
+ flatten=true;;
--quilt)
driver=quilt;;
--collapse)
@@ -34,6 +37,9 @@ done
[ -z "$branches" -o "$driver" = "quilt" ] ||
die "-b works only with the quilt driver"
+[ "$driver" = "quilt" ] || ! "$flatten" ||
+ die "-f works only with the quilt driver"
+
if [ -z "$branches" ]; then
# this check is only needed when no branches have been passed
name="$(git symbolic-ref HEAD | sed 's#^refs/heads/##')"
@@ -138,7 +144,18 @@ quilt()
return
fi
- filename="$output/$_dep.diff"
+ if "$flatten"; then
+ bn="$(echo "$_dep.diff" | sed -e 's#_#__#g' -e 's#/#_#g')";
+ dn="";
+ else
+ bn="$(basename "$_dep.diff")";
+ dn="$(dirname "$_dep.diff")/";
+ if [ "x$dn" = "x./" ]; then
+ dn="";
+ fi;
+ fi;
+
+ filename="$output/$dn$bn";
if [ -e "$filename" ]; then
# We've already seen this dep
return
@@ -148,9 +165,9 @@ quilt()
echo "Skip empty patch $_dep";
else
echo "Exporting $_dep"
- mkdir -p "$(dirname "$filename")"
+ mkdir -p "$output/$dn";
$tg patch "$_dep" >"$filename"
- echo "$_dep.diff -p1" >>"$output/series"
+ echo "$dn$bn -p1" >>"$output/series"
fi
}
--
1.5.6.5
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH TOPGIT] tg export (quilt): Implement numbering the patches
2008-12-23 14:32 ` [PATCH TOPGIT] tg export: Implement flattening patch paths for quilt mode Uwe Kleine-König
@ 2008-12-23 14:32 ` Uwe Kleine-König
0 siblings, 0 replies; 8+ messages in thread
From: Uwe Kleine-König @ 2008-12-23 14:32 UTC (permalink / raw)
To: git; +Cc: martin f. krafft, Petr Baudis
To ease sending patches, with -n each patch gets a number prefix similar
to git format-patch.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
tg-export.sh | 21 ++++++++++++++++++---
1 files changed, 18 insertions(+), 3 deletions(-)
diff --git a/tg-export.sh b/tg-export.sh
index 06b9c8d..7a7d87a 100644
--- a/tg-export.sh
+++ b/tg-export.sh
@@ -8,6 +8,7 @@ branches=
output=
driver=collapse
flatten=false
+numbered=false
## Parse options
@@ -19,6 +20,9 @@ while [ -n "$1" ]; do
branches="$1"; shift;;
-f)
flatten=true;;
+ -n)
+ flatten=true;
+ numbered=true;;
--quilt)
driver=quilt;;
--collapse)
@@ -37,6 +41,9 @@ done
[ -z "$branches" -o "$driver" = "quilt" ] ||
die "-b works only with the quilt driver"
+[ "$driver" = "quilt" ] || ! "$numbered" ||
+ die "-n works only with the quilt driver";
+
[ "$driver" = "quilt" ] || ! "$flatten" ||
die "-f works only with the quilt driver"
@@ -155,18 +162,26 @@ quilt()
fi;
fi;
- filename="$output/$dn$bn";
- if [ -e "$filename" ]; then
+ if [ -e "$playground/$_dep" ]; then
# We've already seen this dep
return
fi
+ mkdir -p "$playground/$(dirname "$_dep")";
+ touch "$playground/$_dep";
+
if branch_empty "$_dep"; then
echo "Skip empty patch $_dep";
else
+ if "$numbered"; then
+ number="$(printf "%04u" $(($(cat "$playground/^number" 2>/dev/null) + 1)))";
+ bn="$number-$bn";
+ echo "$number" >"$playground/^number";
+ fi;
+
echo "Exporting $_dep"
mkdir -p "$output/$dn";
- $tg patch "$_dep" >"$filename"
+ $tg patch "$_dep" >"$output/$dn$bn"
echo "$dn$bn -p1" >>"$output/series"
fi
}
--
1.5.6.5
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: a few Topgit patches
2008-12-23 14:30 a few Topgit patches Uwe Kleine-König
2008-12-23 14:32 ` [PATCH TOPGIT] tg export: implement skipping empty patches for collapse driver Uwe Kleine-König
@ 2008-12-25 14:58 ` martin f krafft
2008-12-26 17:03 ` Uwe Kleine-König
1 sibling, 1 reply; 8+ messages in thread
From: martin f krafft @ 2008-12-25 14:58 UTC (permalink / raw)
To: Uwe Kleine-König, git, Petr Baudis
[-- Attachment #1: Type: text/plain, Size: 1175 bytes --]
also sprach Uwe Kleine-König <u.kleine-koenig@pengutronix.de> [2008.12.23.1530 +0100]:
> I hacked using topgit for some time now, and found the following changes
> to topgit useful:
>
> Uwe Kleine-König (3):
> tg export: implement skipping empty patches for collapse driver
> tg export: Implement flattening patch paths for quilt mode
> tg export (quilt): Implement numbering the patches
They all look good. I am a bit concerned about the use of
single-letter options at this stage. tg-export is bound to grow, and
using them all up now might mean breaking compatibility later, when
a more common option needs e.g. -f, which has already been taken.
--
.''`. martin f. krafft <madduck@d.o> Related projects:
: :' : proud Debian developer http://debiansystem.info
`. `'` http://people.debian.org/~madduck http://vcs-pkg.org
`- Debian - when you have better things to do than fixing systems
"oh what a tangled web we weave,
when first we practice to deceive.
but my how we improve the score,
as we practice more and more."
-- sir walter scott
[-- Attachment #2: Digital signature (see http://martin-krafft.net/gpg/) --]
[-- Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: a few Topgit patches
2008-12-25 14:58 ` a few Topgit patches martin f krafft
@ 2008-12-26 17:03 ` Uwe Kleine-König
2009-01-04 13:05 ` Uwe Kleine-König
0 siblings, 1 reply; 8+ messages in thread
From: Uwe Kleine-König @ 2008-12-26 17:03 UTC (permalink / raw)
To: martin f krafft; +Cc: git, Petr Baudis
Hi martin,
On Thu, Dec 25, 2008 at 03:58:34PM +0100, martin f krafft wrote:
> also sprach Uwe Kleine-König <u.kleine-koenig@pengutronix.de> [2008.12.23.1530 +0100]:
> > I hacked using topgit for some time now, and found the following changes
> > to topgit useful:
> >
> > Uwe Kleine-König (3):
> > tg export: implement skipping empty patches for collapse driver
> > tg export: Implement flattening patch paths for quilt mode
> > tg export (quilt): Implement numbering the patches
>
> They all look good. I am a bit concerned about the use of
> single-letter options at this stage. tg-export is bound to grow, and
> using them all up now might mean breaking compatibility later, when
> a more common option needs e.g. -f, which has already been taken.
I updated my tree to make '-f' '--flatten'. IMHO -n is nice for getting
numbered patches, but if you prefer, I will make this --numbered.
Oh, and I just noticed that documentation is missing. I will fix this
when I sent this mail.
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Strasse 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: a few Topgit patches
2008-12-26 17:03 ` Uwe Kleine-König
@ 2009-01-04 13:05 ` Uwe Kleine-König
2009-01-05 15:49 ` martin f krafft
0 siblings, 1 reply; 8+ messages in thread
From: Uwe Kleine-König @ 2009-01-04 13:05 UTC (permalink / raw)
To: martin f krafft; +Cc: git, Petr Baudis
Hi martin,
On Fri, Dec 26, 2008 at 06:03:34PM +0100, Uwe Kleine-König wrote:
> On Thu, Dec 25, 2008 at 03:58:34PM +0100, martin f krafft wrote:
> > also sprach Uwe Kleine-König <u.kleine-koenig@pengutronix.de> [2008.12.23.1530 +0100]:
> > > I hacked using topgit for some time now, and found the following changes
> > > to topgit useful:
> > >
> > > Uwe Kleine-König (3):
> > > tg export: implement skipping empty patches for collapse driver
> > > tg export: Implement flattening patch paths for quilt mode
> > > tg export (quilt): Implement numbering the patches
> >
> > They all look good. I am a bit concerned about the use of
> > single-letter options at this stage. tg-export is bound to grow, and
> > using them all up now might mean breaking compatibility later, when
> > a more common option needs e.g. -f, which has already been taken.
> I updated my tree to make '-f' '--flatten'. IMHO -n is nice for getting
> numbered patches, but if you prefer, I will make this --numbered.
>
> Oh, and I just noticed that documentation is missing. I will fix this
> when I sent this mail.
This is done. Now I even changed '-n' to '--numbered' and changed the
commit log accordingly. Are there still concerns about my patches?
Should I resend the current version?
The patches are still available in my topgit repo at
git://git.pengutronix.de/git/ukl/topgit.git master
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Strasse 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: a few Topgit patches
2009-01-04 13:05 ` Uwe Kleine-König
@ 2009-01-05 15:49 ` martin f krafft
0 siblings, 0 replies; 8+ messages in thread
From: martin f krafft @ 2009-01-05 15:49 UTC (permalink / raw)
To: Uwe Kleine-König, git, Petr Baudis
[-- Attachment #1: Type: text/plain, Size: 836 bytes --]
also sprach Uwe Kleine-König <u.kleine-koenig@pengutronix.de> [2009.01.04.1405 +0100]:
> This is done. Now I even changed '-n' to '--numbered' and changed the
> commit log accordingly. Are there still concerns about my patches?
> Should I resend the current version?
>
> The patches are still available in my topgit repo at
>
> git://git.pengutronix.de/git/ukl/topgit.git master
I pulled and pushed them. Thanks.
--
.''`. martin f. krafft <madduck@d.o> Related projects:
: :' : proud Debian developer http://debiansystem.info
`. `'` http://people.debian.org/~madduck http://vcs-pkg.org
`- Debian - when you have better things to do than fixing systems
sed -e '/^[when][coders]/!d' \
-e '/^...[discover].$/d' \
-e '/^..[real].[code]$/!d' \
/usr/share/dict/words
[-- Attachment #2: Digital signature (see http://martin-krafft.net/gpg/) --]
[-- Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2009-01-05 15:51 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-12-23 14:30 a few Topgit patches Uwe Kleine-König
2008-12-23 14:32 ` [PATCH TOPGIT] tg export: implement skipping empty patches for collapse driver Uwe Kleine-König
2008-12-23 14:32 ` [PATCH TOPGIT] tg export: Implement flattening patch paths for quilt mode Uwe Kleine-König
2008-12-23 14:32 ` [PATCH TOPGIT] tg export (quilt): Implement numbering the patches Uwe Kleine-König
2008-12-25 14:58 ` a few Topgit patches martin f krafft
2008-12-26 17:03 ` Uwe Kleine-König
2009-01-04 13:05 ` Uwe Kleine-König
2009-01-05 15:49 ` martin f krafft
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).