git.pm 679 B

123456789101112131415161718192021222324252627282930313233343536
  1. #!/usr/bin/perl
  2. # git support for dpkg-source
  3. package Dpkg::Source::VCS::git;
  4. use strict;
  5. use warnings;
  6. use Dpkg;
  7. use Dpkg::Gettext;
  8. push (@INC, $dpkglibdir);
  9. require 'controllib.pl';
  10. sub populate_tarball {
  11. my $srcdir=shift;
  12. my $tardir=shift;
  13. # TODO check for uncommitted files
  14. # TODO git-gc?
  15. system("cp -a $srcdir/.git $tardir");
  16. $? && subprocerr("cp -a $srcdir/.git $tardir");
  17. }
  18. sub initialize_repo {
  19. my $srcdir=shift;
  20. # TODO disable git hooks
  21. # TODO git-fsck?
  22. # XXX git should be made to run in quiet mode here, but
  23. # lacks a good way to do it. Bug filed.
  24. system("cd $srcdir && git-reset --hard");
  25. $? && subprocerr("cd $srcdir && git-reset --hard");
  26. }
  27. 1