- Start. Make local copy of trunk, branches, tags and revision history.
$ cd ~/src/git $ git svn clone svn://myprj $ cd myproj/trunk - Push your local changes to SVN repository.
$ git svn dcommit - Revert your local changes to last version you committed.
$ pwd /home/mark/src/git/ao/trunk/wwwrpt $ git show HEAD:trunk/wwwrpt/Makefile $ git show HEAD:trunk/wwwrpt/Makefile > Makefile - Revert to the version before your last commit.
$ git show \ > HEAD~1:branches/2.2_WORKFLOW/engine/session.h \ >> engine/session.h - Fix commit message on last commit. (Must do before dcommit.)
$ git commit --ammend [spawns editor with prior comment: edit and save]
Monday, March 22, 2010
git svn usage notes
I've been using git-svn recently, and like it quite a bit. The
killer feature for me is that I can make commits while off-line;
I like being able to commit changes in small chunks.
Here are some notes on how I most frequently use it.
Tuesday, February 2, 2010
Seconds since epoch from Python datetime
My naive approach, given a naive Python date:
$ cat > t.py
from datetime import datetime
dt = datetime(2010,2,2,13,52,39)
dt.strftime("%s")
^D
$ python t.py
1265136759
But that's not right:
$ TZ=GMT date -r 1265136759 Tue Feb 2 18:52:39 GMT 2010 $To get the correct seconds, you need to first set timezone to GMT.
$ cat > t.py
import os
from datetime import datetime
oldtz = ''
if os.environ.has_key('TZ'):
oldtz = os.environ['TZ']
os.environ['TZ'] = 'GMT'
dt = datetime(2010,2,2,13,52,39)
print dt.strftime("%s")
if oldtz:
os.environ['TZ'] = oldtz
else:
del os.environ['TZ']
$ python t.py
1265118759
$ TZ=GMT date -r 1265118759
Tue Feb 2 13:52:39 GMT 2010
$
The difference in these two second values is 5 hours, which
is my local time zone offset from GMT.
So although the Python date has no timezone information, when
Python's strftime() converts it to seconds since epoch, it uses
the local timezone instead of GMT.
I consistently find dates and times to be tricky when programming.
Subscribe to:
Comments (Atom)