summary refs log tree commit diff
path: root/pkgs/build-support/fetchgit/default.nix
diff options
context:
space:
mode:
authorMarc Weber <marco-oweber@gmx.de>2009-11-08 03:02:10 +0000
committerMarc Weber <marco-oweber@gmx.de>2009-11-08 03:02:10 +0000
commitedf78fcb6a144444cdea9897f87d486252a1e090 (patch)
treed2113235cd4df785835f3fd3ed2b4eb00ad80eba /pkgs/build-support/fetchgit/default.nix
parent896dc4266220f719837adb6a8f1c2af515c7334e (diff)
downloadnixpkgs-edf78fcb6a144444cdea9897f87d486252a1e090.tar
nixpkgs-edf78fcb6a144444cdea9897f87d486252a1e090.tar.gz
nixpkgs-edf78fcb6a144444cdea9897f87d486252a1e090.tar.bz2
nixpkgs-edf78fcb6a144444cdea9897f87d486252a1e090.tar.lz
nixpkgs-edf78fcb6a144444cdea9897f87d486252a1e090.tar.xz
nixpkgs-edf78fcb6a144444cdea9897f87d486252a1e090.tar.zst
nixpkgs-edf78fcb6a144444cdea9897f87d486252a1e090.zip
some fetchgit documentation
svn path=/nixpkgs/trunk/; revision=18283
Diffstat (limited to 'pkgs/build-support/fetchgit/default.nix')
-rw-r--r--pkgs/build-support/fetchgit/default.nix22
1 files changed, 22 insertions, 0 deletions
diff --git a/pkgs/build-support/fetchgit/default.nix b/pkgs/build-support/fetchgit/default.nix
index 6966b5c0bf9..8fd86cd2481 100644
--- a/pkgs/build-support/fetchgit/default.nix
+++ b/pkgs/build-support/fetchgit/default.nix
@@ -1,6 +1,28 @@
 {stdenv, git}:
 {url, rev ? "HEAD", md5 ? "", sha256 ? ""}:
 
+/* NOTE:
+   fetchgit has one problem: git fetch only works for refs.
+   This is because fetching arbitrary (maybe dangling) commits may be a security risk
+   and checking whether a commit belongs to a ref is expensive. This may
+   change in the future when some caching is added to git (?)
+   Usually refs are either tags (refs/tags/*) or branches (refs/heads/*)
+   Cloning branches will make the hash check fail when there is an update.
+   But not all patches we want can be accessed by tags.
+
+   The workaround is getting the last n commits so that it's likly that they
+   still contain the hash we want.
+
+   for now : increase depth iteratively (TODO)
+
+   real fix: ask git folks to add a
+   git fetch $HASH contained in $BRANCH
+   facility because checking that $HASH is contained in $BRANCH is less
+   expensive than fetching --depth $N.
+   Even if git folks implemented this feature soon it may take years until
+   server admins start using the new version?
+*/
+
 stdenv.mkDerivation {
   name = "git-export";
   builder = ./builder.sh;