{"thread":{"id":"16485","subject":"[PATCH] tg-export: add flag -n to get numbered patches","startedAt":"2008-11-26T21:17:35Z","lastAt":"2008-11-26T21:17:35Z","messageCount":1,"participants":["Uwe Kleine-König"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"96580","messageId":"1227734255-30425-1-git-send-email-u.kleine-koenig@pengutronix.de","threadId":"16485","inReplyTo":null,"subject":"[PATCH] tg-export: add flag -n to get numbered patches","fromName":"Uwe Kleine-König","fromEmail":"u.kleine-koenig@pengutronix.de","sentAt":"2008-11-26T21:17:35Z","receivedAt":"2008-11-26T21:17:35Z","isPatch":true,"sender":{"key":"u.kleine-koenig@pengutronix.de","avatar":"https://gravatar.com/avatar/354b5e3ceb2806a2f1e1e382ac29ddbdad18288654da62b61eb13583a857eee7?d=mp&s=160"},"body":"This eases sending the patches out in the right order using git\nsend-email.  Of course this only works nicely if all patches end in the\nsame directory (e.g. all dependant patches use the same prefix)\n\nNote this patch depends a bit on my previous one that deprecates using\n-n for not exporting empty patches.\n\nSigned-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>\nCc: martin f. krafft <madduck@debian.org>\nCc: Petr Baudis <pasky@suse.cz>\n---\n tg-export.sh |   26 +++++++++++++++++++++++---\n 1 files changed, 23 insertions(+), 3 deletions(-)\n\ndiff --git a/tg-export.sh b/tg-export.sh\nindex f133fb8..b667b82 100644\n--- a/tg-export.sh\n+++ b/tg-export.sh\n@@ -7,6 +7,7 @@ name=\n branches=\n output=\n driver=collapse\n+numbered=false\n \n \n ## Parse options\n@@ -20,6 +21,8 @@ while [ -n \"$1\" ]; do\n \t\tdriver=quilt;;\n \t--collapse)\n \t\tdriver=collapse;;\n+\t-n)\n+\t\tnumbered=true;;\n \t-*)\n \t\techo \"Usage: tg [...] export ([--collapse] NEWBRANCH | [-b BRANCH1,BRANCH2...] --quilt DIRECTORY)\" >&2\n \t\texit 1;;\n@@ -34,6 +37,9 @@ done\n [ -z \"$branches\" -o \"$driver\" = \"quilt\" ] ||\n \tdie \"-b works only with the quilt driver\"\n \n+[ \"$driver\" = \"quilt\" ] || ! \"$numbered\" ||\n+\tdie \"-n works only with the quilt driver\"\n+\n if [ -z \"$branches\" ]; then\n \t# this check is only needed when no branches have been passed\n \tname=\"$(git symbolic-ref HEAD | sed 's#^refs/heads/##')\"\n@@ -134,19 +140,31 @@ quilt()\n \t\treturn\n \tfi\n \n-\tfilename=\"$output/$_dep.diff\"\n-\tif [ -e \"$filename\" ]; then\n+\tif \"$numbered\"; then\n+\t\tnumber=$(printf \"%04u\" $((number + 1)))\n+\t\tbn=\"$(basename \"$_dep.diff\")\";\n+\t\tdn=\"$(dirname \"$_dep.diff\")\";\n+\t\tnum_dep=\"$dn/$number-$bn\"\n+\telse\n+\t\tnum_dep=\"$_dep.diff\";\n+\tfi\n+\tfilename=\"$output/$num_dep\"\n+\n+\tif [ -e \"$playground/$_dep\" ]; then\n \t\t# We've already seen this dep\n \t\treturn\n \tfi\n \n+\tmkdir -p \"$playground/$(dirname \"$_dep\")\"\n+\ttouch \"$playground/$_dep\"\n+\n \tif branch_empty \"$_dep\"; then\n \t\techo \"Skip empty patch $_dep\";\n \telse\n \t\techo \"Exporting $_dep\"\n \t\tmkdir -p \"$(dirname \"$filename\")\"\n \t\t$tg patch \"$_dep\" >\"$filename\"\n-\t\techo \"$_dep.diff -p1\" >>\"$output/series\"\n+\t\techo \"$num_dep.diff -p1\" >>\"$output/series\"\n \tfi\n }\n \n@@ -166,6 +184,8 @@ elif [ \"$driver\" = \"quilt\" ]; then\n \t\tdie \"target directory already exists: $output\"\n \n \tmkdir -p \"$output\"\n+\n+\tnumber=\"0000\";\n fi\n \n \n-- \n1.5.6.5\n"}]}