Merge branch 'maint'
* maint: GIT 1.6.0.4 Update RPM spec for the new location of git-cvsserver. push: fix local refs update if already up-to-date do not force write of packed refs Conflicts: builtin-revert.c
This commit is contained in:
@ -230,7 +230,7 @@ static void update_tracking_ref(struct remote *remote, struct ref *ref)
|
||||
{
|
||||
struct refspec rs;
|
||||
|
||||
if (ref->status != REF_STATUS_OK)
|
||||
if (ref->status != REF_STATUS_OK && ref->status != REF_STATUS_UPTODATE)
|
||||
return;
|
||||
|
||||
rs.src = ref->name;
|
||||
@ -435,24 +435,19 @@ static int do_send_pack(int in, int out, struct remote *remote, const char *dest
|
||||
*/
|
||||
new_refs = 0;
|
||||
for (ref = remote_refs; ref; ref = ref->next) {
|
||||
const unsigned char *new_sha1;
|
||||
|
||||
if (!ref->peer_ref) {
|
||||
if (!args.send_mirror)
|
||||
continue;
|
||||
new_sha1 = null_sha1;
|
||||
}
|
||||
else
|
||||
new_sha1 = ref->peer_ref->new_sha1;
|
||||
if (ref->peer_ref)
|
||||
hashcpy(ref->new_sha1, ref->peer_ref->new_sha1);
|
||||
else if (!args.send_mirror)
|
||||
continue;
|
||||
|
||||
|
||||
ref->deletion = is_null_sha1(new_sha1);
|
||||
ref->deletion = is_null_sha1(ref->new_sha1);
|
||||
if (ref->deletion && !allow_deleting_refs) {
|
||||
ref->status = REF_STATUS_REJECT_NODELETE;
|
||||
continue;
|
||||
}
|
||||
if (!ref->deletion &&
|
||||
!hashcmp(ref->old_sha1, new_sha1)) {
|
||||
!hashcmp(ref->old_sha1, ref->new_sha1)) {
|
||||
ref->status = REF_STATUS_UPTODATE;
|
||||
continue;
|
||||
}
|
||||
@ -480,14 +475,13 @@ static int do_send_pack(int in, int out, struct remote *remote, const char *dest
|
||||
!ref->deletion &&
|
||||
!is_null_sha1(ref->old_sha1) &&
|
||||
(!has_sha1_file(ref->old_sha1)
|
||||
|| !ref_newer(new_sha1, ref->old_sha1));
|
||||
|| !ref_newer(ref->new_sha1, ref->old_sha1));
|
||||
|
||||
if (ref->nonfastforward && !ref->force && !args.force_update) {
|
||||
ref->status = REF_STATUS_REJECT_NONFASTFORWARD;
|
||||
continue;
|
||||
}
|
||||
|
||||
hashcpy(ref->new_sha1, new_sha1);
|
||||
if (!ref->deletion)
|
||||
new_refs++;
|
||||
|
||||
|
Reference in New Issue
Block a user