% my $user = param('user'); my $project = param('project'); my $branch = param('rev1'); my $rev2_abs = param('rev2_abs'); my ($remote_user, $remote_project, $remote_branch) = split /\//, $rev2_abs, 3; my $commits = app->git->get_commits($user, $project, $branch, 100); my $remote_commits = app->git->get_commits( $remote_user, $remote_project, $remote_branch, 100 ); my $merged_commits_h = {}; for my $commit (@$commits) { my $id = $commit->{id}; $merged_commits_h->{$id} ||= {}; $merged_commits_h->{$id}{age} = $commit->{age}; $merged_commits_h->{$id}{age_string_date_local} = $commit->{age_string_date_local}; $merged_commits_h->{$id}{title} = $commit->{title}; $merged_commits_h->{$id}{type} = 'local'; } for my $commit (@$remote_commits) { my $id = $commit->{id}; if ($merged_commits_h->{$id}) { $merged_commits_h->{$id}{type} = 'same'; } else { $merged_commits_h->{$id} ||= {}; $merged_commits_h->{$id}{age} = $commit->{age}; $merged_commits_h->{$id}{age_string_date_local} = $commit->{age_string_date_local}; $merged_commits_h->{$id}{title} = $commit->{title}; $merged_commits_h->{$id}{type} = 'remote'; } } my $merged_commits = []; for my $id ( sort { $merged_commits_h->{$b}{age} <=> $merged_commits_h->{$a}{age}} keys %$merged_commits_h) { my $commit = {%{$merged_commits_h->{$id}}}; $commit->{id} = $id; push @$merged_commits, $commit; } %> % layout 'common', title => "Network Graph $user/$project/$branch...$rev2_abs"; %= include 'include/header'; %= javascript begin $('document').ready(function () { // Scroll to right $('#graph').scrollLeft(1000); }); % end
{id}") %>" title="<%= "$commit->{title}($commit->{age_string_date_local})" %>">● | % } else {% } | - | % }
git remote add <%= $remote_user %> <%= url_for("/$remote_user/$remote_project.git")->to_abs %>Step 2: From your project repository, bring in the changes and test.
git remote update git fetch git checkout -b <%= "$remote_user-$remote_branch" %> <%= "$remote_user/$remote_branch" %> git merge <%= $branch %>Step 3: Merge the changes and update on GitHub.
git checkout <%= $branch %> git merge <%= "$remote_user-$remote_branch" %> git push origin <%= $branch %>