cvs-update.pl 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #!/usr/bin/env perl -w
  2. # -*- Mode: perl; indent-tabs-mode: nil -*-
  3. #
  4. # The contents of this file are subject to the Mozilla Public
  5. # License Version 1.1 (the "License"); you may not use this file
  6. # except in compliance with the License. You may obtain a copy of
  7. # the License at http://www.mozilla.org/MPL/
  8. #
  9. # Software distributed under the License is distributed on an "AS
  10. # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
  11. # implied. See the License for the specific language governing
  12. # rights and limitations under the License.
  13. #
  14. # The Original Code is the Bugzilla Bug Tracking System.
  15. #
  16. # The Initial Developer of the Original Code is Netscape Communications
  17. # Corporation. Portions created by Netscape are
  18. # Copyright (C) 1998 Netscape Communications Corporation. All
  19. # Rights Reserved.
  20. #
  21. # Contributor(s): Dawn Endico <endico@mozilla.org>
  22. # Jacob Steenhagen <jake@bugzilla.org>
  23. # Jouni Heikniemi <jouni@heikniemi.net>
  24. # Keep a record of all cvs updates made from a given directory.
  25. #
  26. # Later, if changes need to be backed out, look at the log file
  27. # and run the cvs command with the date that you want to back
  28. # out to. (Probably the second to last entry).
  29. # Because this script lives in contrib, you may want to
  30. # ln -s contrib/cvs-update.pl cvs-update.pl
  31. # from your bugzilla install directory so you can run
  32. # the script easily from there (./cvs-update.pl)
  33. #DATE=`date +%e/%m/%Y\ %k:%M:%S\ %Z`
  34. my ($second, $minute, $hour, $day, $month, $year) = gmtime;
  35. my $date = sprintf("%04d-%02d-%02d %d:%02d:%02dZ",
  36. $year+1900, $month+1, $day, $hour, $minute, $second);
  37. my $cmd = "cvs -q update -dP";
  38. open LOG, ">>cvs-update.log" or die("Couldn't open cvs update log!");
  39. print LOG "$cmd -D \"$date\"\n";
  40. close LOG;
  41. system("$cmd -A");
  42. # sample log file
  43. #cvs update -P -D "11/04/2000 20:22:08 PDT"
  44. #cvs update -P -D "11/05/2000 20:22:22 PDT"
  45. #cvs update -P -D "11/07/2000 20:26:29 PDT"
  46. #cvs update -P -D "11/08/2000 20:27:10 PDT"