소스 검색

Proper up-to-date-check; fix when branches are empty.

tags/v0.2
Ben Kurtovic 10 년 전
부모
커밋
fbf29b4688
1개의 변경된 파일11개의 추가작업 그리고 1개의 파일을 삭제
  1. +11
    -1
      gitup/update.py

+ 11
- 1
gitup/update.py 파일 보기

@@ -56,6 +56,11 @@ def _fetch_remote(remote):
remote.fetch() ### TODO: show progress
print(" done.")

def _is_up_to_date(repo, branch, upstream):
"""Return whether *branch* is up-to-date with its *upstream*."""
base = repo.git.merge_base(branch.commit, upstream.commit)
return repo.commit(base) == upstream.commit

def _rebase(repo, name):
"""Rebase the current HEAD of *repo* onto the branch *name*."""
print(" rebasing...", end="")
@@ -101,7 +106,12 @@ def _update_branch(repo, branch, merge, rebase, stasher=None):
if not upstream:
print(" skipped: no upstream is tracked.")
return
if branch.commit == upstream.commit: ### TODO: a better check is possible
try:
branch.commit, upstream.commit
except ValueError:
print(" skipped: branch contains no revisions.")
return
if _is_up_to_date(repo, branch, upstream):
print(" up to date.")
return
if stasher:


불러오는 중...
취소
저장