Subject: [GSoC] Week 1: Unification of 'for-each-ref', 'tag -l' and 'branch -l'

From: Karthik Nayak <[email-masked]>
Date: Tue, 02 Jun 2015 22:08:57 +0530

Hello All,

As part of GSoC I'm working on the Unification of 'for-each-ref', 'tag -l'
and 'branch -l'. I will update the list on my weekly progress in an effort
to keep everyone updated.

Current Progress:
Currently I have been working on moving all code from 'for-each-ref' to an
independent library called 'ref-filter' which would serve as a common 
library
for the unification process. 'for-each-ref' supports printing the commits
in a specified format and also various sorting optins. This would serve as a
good base for porting over these options for 'tag -l' and 'branch -l'.
I have sent v4 of my patch to the list and it can be found here:
http://article.gmane.org/gmane.comp.version-control.git/270293
I have been working on this after suggested changes, will post the next
version soon.

Work In progress:
You can follow my current progress on Github:
https://github.com/KarthikNayak/git
For now I got the '--points-at' option (prints only refs pointing to given
commit) and also '--merged' option (prints only refs whose heads are 
reachable
from the given commit). These shall be forwarded to the list soon.

What to do next:
Implement '--contains' option, but the problem to be faced here is that both
'tag -l' and 'branch -l' have different implementations of the '--contains'
options.  Matthieu Moy suggested that I work on the unification of these 
commands
let both the implementations stay where the user can select the 
implementation
to be used and that I may work on unification of these two algorithms after
the main objective of GSoC is met.

Any suggestion/changes are welcome.

-- 
Regards,
Karthik