]> git.decadent.org.uk Git - dak.git/commitdiff
pdiff shit
authorJoerg Jaspert <joerg@debian.org>
Sun, 8 May 2011 15:41:15 +0000 (17:41 +0200)
committerJoerg Jaspert <joerg@debian.org>
Sun, 8 May 2011 15:41:15 +0000 (17:41 +0200)
add a function to fill up a git tree for the possible replacement of the shit script thats currently creating pdiff files

Signed-off-by: Joerg Jaspert <joerg@debian.org>
config/debian/cron.dinstall
config/debian/dinstall.functions

index ca8202aa95ad16a07fe100a0312fe2d3b6fc0e95..9261452daec74d7764a1ec4dcfb55719076c07be 100755 (executable)
@@ -288,8 +288,6 @@ GO=(
     ARGS=""
     ERR=""
 )
-# Careful: When we ever go and remove this monster-long thing, we have to check the backgrounded
-# functions before it. We no longer have a 1.5hour sync point then.
 stage $GO
 
 state "dists/"
@@ -301,6 +299,14 @@ GO=(
 )
 stage $GO
 
+GO=(
+    FUNC="gitpdiff"
+    TIME="gitpdiff"
+    ARGS=""
+    ERR=""
+)
+stage $GO
+
 GO=(
     FUNC="release"
     TIME="release files"
index 172d6e40e41899b9d37ffb2190bb7a218228f5f9..ffbbb545544f18ce020d04901e733cd2b0666bc1 100644 (file)
@@ -575,3 +575,36 @@ function changelogs() {
     rsync -aHW --delete --delete-after --ignore-errors ${exportdir}/changelogs/. .
     sudo -H -u archvsync /home/archvsync/runmirrors metaftpdo > ~dak/runmirrors-metadata.log 2>&1 &
 }
+
+function gitpdiff() {
+    # Might be that we want to change this to have more than one git repository.
+    # Advantage of one is that we do not need much space in terms of storage in git itself,
+    # git gc is pretty good on our input.
+    # But it might be faster. Well, lets test.
+    log "Adjusting the git tree for pdiffs"
+    cd ${dbdir}/git/git/
+
+    # The regex needs the architectures seperated with \|
+    garchs=$(dak admin a list|sed -e ':q;N;s/\n/\\|/g;t q')
+
+    # First, get all the files we want to work on. ../dists/ is a symlink to the real dists/ we
+    # want to work with.
+    # Also, we only want contents, packages and sources.
+    for file in $(find ../dists/ -regex ".*/\(Contents-\($archs\)\|\(Packages\|Sources\)\).gz"); do
+        log "${file}"
+        base=${file%%.gz};
+        base=${base##../};
+        dir=${base%/*};
+        mkdir -p $dir;
+        zcat $file > $foo;
+    done
+
+    # Second, add all there is into git
+    cd dists
+    git add .
+    # Maybe we want to make this the same for tag and commit? But well, shouldn't matter
+    COMD=$(date  -Is)
+    TAGD=$(date +%Y-%m-%d-%H-%M)
+    git commit -m "Commit of ${COMD}"
+    git tag "${TAGD}"
+ }