From: Elijah Newren <newren@gmail.com>
To: <gitster@pobox.com>
Cc: <git@vger.kernel.org>, <larsxschneider@gmail.com>,
<sandals@crustytoothpaste.net>, <peff@peff.net>,
<me@ttaylorr.com>, <jrnieder@gmail.com>, <szeder.dev@gmail.com>,
Elijah Newren <newren@gmail.com>
Subject: [PATCH v3 00/11] fast export and import fixes and features
Date: Thu, 15 Nov 2018 23:59:45 -0800 [thread overview]
Message-ID: <20181116075956.27047-1-newren@gmail.com> (raw)
In-Reply-To: <20181114002600.29233-1-newren@gmail.com>
This is a series of small fixes and features for fast-export and
fast-import, mostly on the fast-export side.
Changes since v2 (full range-diff below):
* Dropped the final patch; going to try to use Peff's suggestion of
rev-list and diff-tree to get what I need instead
* Inserted a new patch at the beginning to convert pre-existing sha1
stuff to oid (rename sha1_to_hex() -> oid_to_hex(), rename
anonymize_sha1() to anonymize_oid(), etc.)
* Modified other patches in the series to add calls to oid_to_hex() rather
than sha1_to_hex()
Elijah Newren (11):
fast-export: convert sha1 to oid
git-fast-import.txt: fix documentation for --quiet option
git-fast-export.txt: clarify misleading documentation about rev-list
args
fast-export: use value from correct enum
fast-export: avoid dying when filtering by paths and old tags exist
fast-export: move commit rewriting logic into a function for reuse
fast-export: when using paths, avoid corrupt stream with non-existent
mark
fast-export: ensure we export requested refs
fast-export: add --reference-excluded-parents option
fast-import: remove unmaintained duplicate documentation
fast-export: add a --show-original-ids option to show original names
Documentation/git-fast-export.txt | 23 +++-
Documentation/git-fast-import.txt | 23 +++-
builtin/fast-export.c | 190 +++++++++++++++++++++---------
fast-import.c | 166 ++------------------------
t/t9350-fast-export.sh | 80 ++++++++++++-
5 files changed, 268 insertions(+), 214 deletions(-)
-: ---------- > 1: 4c3370c85f fast-export: convert sha1 to oid
1: 8870fb1340 = 2: 6ffa30e3c7 git-fast-import.txt: fix documentation for --quiet option
2: 16d1c3e22d = 3: 1e278f009a git-fast-export.txt: clarify misleading documentation about rev-list args
3: e19f6b36f9 = 4: 9d7b2aef49 fast-export: use value from correct enum
4: 2b305561d5 ! 5: b65a591d4d fast-export: avoid dying when filtering by paths and old tags exist
@@ -29,7 +29,7 @@
- oid_to_hex(&tag->object.oid));
+ if (!p->parents) {
+ printf("reset %s\nfrom %s\n\n",
-+ name, sha1_to_hex(null_sha1));
++ name, oid_to_hex(&null_oid));
+ free(buf);
+ return;
+ }
5: 607b1dc2b2 ! 6: dde52c9cb6 fast-export: move commit rewriting logic into a function for reuse
@@ -47,7 +47,7 @@
- break;
- if (!p->parents) {
- printf("reset %s\nfrom %s\n\n",
-- name, sha1_to_hex(null_sha1));
+- name, oid_to_hex(&null_oid));
- free(buf);
- return;
- }
@@ -55,7 +55,7 @@
+ p = rewrite_commit((struct commit *)tagged);
+ if (!p) {
+ printf("reset %s\nfrom %s\n\n",
-+ name, sha1_to_hex(null_sha1));
++ name, oid_to_hex(&null_oid));
+ free(buf);
+ return;
}
6: ec1862e858 ! 7: d9b2e326f0 fast-export: when using paths, avoid corrupt stream with non-existent mark
@@ -35,7 +35,7 @@
+ * it.
+ */
+ printf("reset %s\nfrom %s\n\n",
-+ name, sha1_to_hex(null_sha1));
++ name, oid_to_hex(&null_oid));
+ continue;
+ }
printf("reset %s\nfrom :%d\n\n", name,
7: 9da26e3ccb ! 8: 9ddb155a70 fast-export: ensure we export requested refs
@@ -97,7 +97,7 @@
case OBJ_TAG:
handle_tag(name, (struct tag *)object);
@@
- name, sha1_to_hex(null_sha1));
+ name, oid_to_hex(&null_oid));
continue;
}
- printf("reset %s\nfrom :%d\n\n", name,
@@ -114,7 +114,7 @@
+ * like a ref deletion to me.
+ */
+ printf("reset %s\nfrom %s\n\n",
-+ name, sha1_to_hex(null_sha1));
++ name, oid_to_hex(&null_oid));
+ continue;
+ }
+
8: 7e5fe2f02e ! 9: 595d2e5d30 fast-export: add --reference-excluded-parents option
@@ -117,9 +117,9 @@
+ printf(":%d\n", mark);
else
- printf("merge :%d\n", mark);
-+ printf("%s\n", sha1_to_hex(anonymize ?
-+ anonymize_sha1(&obj->oid) :
-+ obj->oid.hash));
++ printf("%s\n", oid_to_hex(anonymize ?
++ anonymize_oid(&obj->oid) :
++ &obj->oid));
i++;
}
@@ -138,16 +138,16 @@
+ * just means deletion of the ref.
*/
- printf("reset %s\nfrom %s\n\n",
-- name, sha1_to_hex(null_sha1));
+- name, oid_to_hex(&null_oid));
+ if (!reference_excluded_commits) {
+ /* delete the ref */
+ printf("reset %s\nfrom %s\n\n",
-+ name, sha1_to_hex(null_sha1));
++ name, oid_to_hex(&null_oid));
+ continue;
+ }
+ /* set ref to commit using oid, not mark */
+ printf("reset %s\nfrom %s\n\n", name,
-+ sha1_to_hex(commit->object.oid.hash));
++ oid_to_hex(&commit->object.oid));
continue;
}
@@ -156,7 +156,7 @@
N_("Apply refspec to exported refs")),
OPT_BOOL(0, "anonymize", &anonymize, N_("anonymize output")),
+ OPT_BOOL(0, "reference-excluded-parents",
-+ &reference_excluded_commits, N_("Reference parents which are not in fast-export stream by sha1sum")),
++ &reference_excluded_commits, N_("Reference parents which are not in fast-export stream by object id")),
+
OPT_END()
};
9: 14306a8436 = 10: 2686246a89 fast-import: remove unmaintained duplicate documentation
10: 72487a61e4 ! 11: b78d548e7d fast-export: add a --show-original-ids option to show original names
@@ -141,9 +141,9 @@
@@
OPT_BOOL(0, "anonymize", &anonymize, N_("anonymize output")),
OPT_BOOL(0, "reference-excluded-parents",
- &reference_excluded_commits, N_("Reference parents which are not in fast-export stream by sha1sum")),
+ &reference_excluded_commits, N_("Reference parents which are not in fast-export stream by object id")),
+ OPT_BOOL(0, "show-original-ids", &show_original_ids,
-+ N_("Show original sha1sums of blobs/commits")),
++ N_("Show original object ids of blobs/commits")),
OPT_END()
};
--
2.19.1.1063.g1796373474.dirty
next prev parent reply other threads:[~2018-11-16 8:00 UTC|newest]
Thread overview: 90+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-23 13:04 Import/Export as a fast way to purge files from Git? Lars Schneider
2018-09-23 14:55 ` Eric Sunshine
2018-09-23 15:58 ` Lars Schneider
2018-09-23 15:53 ` brian m. carlson
2018-09-23 17:04 ` Jeff King
2018-09-24 17:24 ` Elijah Newren
2018-10-31 19:15 ` Lars Schneider
2018-11-01 7:12 ` Elijah Newren
2018-11-11 6:23 ` [PATCH 00/10] fast export and import fixes and features Elijah Newren
2018-11-11 6:23 ` [PATCH 01/10] git-fast-import.txt: fix documentation for --quiet option Elijah Newren
2018-11-11 6:33 ` Jeff King
2018-11-11 6:23 ` [PATCH 02/10] git-fast-export.txt: clarify misleading documentation about rev-list args Elijah Newren
2018-11-11 6:36 ` Jeff King
2018-11-11 7:17 ` Elijah Newren
2018-11-13 23:25 ` Elijah Newren
2018-11-13 23:39 ` Jonathan Nieder
2018-11-14 0:02 ` Elijah Newren
2018-11-11 6:23 ` [PATCH 03/10] fast-export: use value from correct enum Elijah Newren
2018-11-11 6:36 ` Jeff King
2018-11-11 20:10 ` Ævar Arnfjörð Bjarmason
2018-11-12 9:12 ` Ævar Arnfjörð Bjarmason
2018-11-12 11:31 ` Jeff King
2018-11-11 6:23 ` [PATCH 04/10] fast-export: avoid dying when filtering by paths and old tags exist Elijah Newren
2018-11-11 6:44 ` Jeff King
2018-11-11 7:38 ` Elijah Newren
2018-11-12 12:32 ` Jeff King
2018-11-12 22:50 ` brian m. carlson
2018-11-13 14:38 ` Jeff King
2018-11-11 6:23 ` [PATCH 05/10] fast-export: move commit rewriting logic into a function for reuse Elijah Newren
2018-11-11 6:47 ` Jeff King
2018-11-11 6:23 ` [PATCH 06/10] fast-export: when using paths, avoid corrupt stream with non-existent mark Elijah Newren
2018-11-11 6:53 ` Jeff King
2018-11-11 8:01 ` Elijah Newren
2018-11-12 12:45 ` Jeff King
2018-11-12 15:36 ` Elijah Newren
2018-11-11 6:23 ` [PATCH 07/10] fast-export: ensure we export requested refs Elijah Newren
2018-11-11 7:02 ` Jeff King
2018-11-11 8:20 ` Elijah Newren
2018-11-11 6:23 ` [PATCH 08/10] fast-export: add --reference-excluded-parents option Elijah Newren
2018-11-11 7:11 ` Jeff King
2018-11-11 6:23 ` [PATCH 09/10] fast-export: add a --show-original-ids option to show original names Elijah Newren
2018-11-11 7:20 ` Jeff King
2018-11-11 8:32 ` Elijah Newren
2018-11-12 12:53 ` Jeff King
2018-11-12 15:46 ` Elijah Newren
2018-11-12 16:31 ` Jeff King
2018-11-11 6:23 ` [PATCH 10/10] fast-export: add --always-show-modify-after-rename Elijah Newren
2018-11-11 7:23 ` Jeff King
2018-11-11 8:42 ` Elijah Newren
2018-11-12 12:58 ` Jeff King
2018-11-12 18:08 ` Elijah Newren
2018-11-13 14:45 ` Jeff King
2018-11-13 17:10 ` Elijah Newren
2018-11-14 7:14 ` Jeff King
2018-11-11 7:27 ` [PATCH 00/10] fast export and import fixes and features Jeff King
2018-11-11 8:44 ` Elijah Newren
2018-11-12 13:00 ` Jeff King
2018-11-14 0:25 ` [PATCH v2 00/11] " Elijah Newren
2018-11-14 0:25 ` [PATCH v2 01/11] git-fast-import.txt: fix documentation for --quiet option Elijah Newren
2018-11-14 0:25 ` [PATCH v2 02/11] git-fast-export.txt: clarify misleading documentation about rev-list args Elijah Newren
2018-11-14 0:25 ` [PATCH v2 03/11] fast-export: use value from correct enum Elijah Newren
2018-11-14 0:25 ` [PATCH v2 04/11] fast-export: avoid dying when filtering by paths and old tags exist Elijah Newren
2018-11-14 19:17 ` SZEDER Gábor
2018-11-14 23:13 ` Elijah Newren
2018-11-14 0:25 ` [PATCH v2 05/11] fast-export: move commit rewriting logic into a function for reuse Elijah Newren
2018-11-14 0:25 ` [PATCH v2 06/11] fast-export: when using paths, avoid corrupt stream with non-existent mark Elijah Newren
2018-11-14 0:25 ` [PATCH v2 07/11] fast-export: ensure we export requested refs Elijah Newren
2018-11-14 0:25 ` [PATCH v2 08/11] fast-export: add --reference-excluded-parents option Elijah Newren
2018-11-14 19:27 ` SZEDER Gábor
2018-11-14 23:16 ` Elijah Newren
2018-11-14 0:25 ` [PATCH v2 09/11] fast-import: remove unmaintained duplicate documentation Elijah Newren
2018-11-14 0:25 ` [PATCH v2 10/11] fast-export: add a --show-original-ids option to show original names Elijah Newren
2018-11-14 0:26 ` [PATCH v2 11/11] fast-export: add --always-show-modify-after-rename Elijah Newren
2018-11-14 7:25 ` [PATCH v2 00/11] fast export and import fixes and features Jeff King
2018-11-16 7:59 ` Elijah Newren [this message]
2018-11-16 7:59 ` [PATCH v3 01/11] fast-export: convert sha1 to oid Elijah Newren
2018-11-16 7:59 ` [PATCH v3 02/11] git-fast-import.txt: fix documentation for --quiet option Elijah Newren
2018-11-16 7:59 ` [PATCH v3 03/11] git-fast-export.txt: clarify misleading documentation about rev-list args Elijah Newren
2018-11-16 7:59 ` [PATCH v3 04/11] fast-export: use value from correct enum Elijah Newren
2018-11-16 7:59 ` [PATCH v3 05/11] fast-export: avoid dying when filtering by paths and old tags exist Elijah Newren
2018-11-16 7:59 ` [PATCH v3 06/11] fast-export: move commit rewriting logic into a function for reuse Elijah Newren
2018-11-16 7:59 ` [PATCH v3 07/11] fast-export: when using paths, avoid corrupt stream with non-existent mark Elijah Newren
2018-11-16 7:59 ` [PATCH v3 08/11] fast-export: ensure we export requested refs Elijah Newren
2018-11-16 7:59 ` [PATCH v3 09/11] fast-export: add --reference-excluded-parents option Elijah Newren
2018-11-16 7:59 ` [PATCH v3 10/11] fast-import: remove unmaintained duplicate documentation Elijah Newren
2018-11-16 7:59 ` [PATCH v3 11/11] fast-export: add a --show-original-ids option to show original names Elijah Newren
2018-11-16 12:29 ` SZEDER Gábor
2018-11-16 8:50 ` [PATCH v3 00/11] fast export and import fixes and features Jeff King
2018-11-12 9:17 ` Import/Export as a fast way to purge files from Git? Ævar Arnfjörð Bjarmason
2018-11-12 15:34 ` Elijah Newren
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=20181116075956.27047-1-newren@gmail.com \
--to=newren@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jrnieder@gmail.com \
--cc=larsxschneider@gmail.com \
--cc=me@ttaylorr.com \
--cc=peff@peff.net \
--cc=sandals@crustytoothpaste.net \
--cc=szeder.dev@gmail.com \
/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).