monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Monotone-devel] limited-scope annotate


From: Lapo Luchini
Subject: [Monotone-devel] limited-scope annotate
Date: Sat, 13 May 2006 15:52:04 +0200
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.8.0.2) Gecko/20060308 Thunderbird/1.5.0.2 Mnenhy/0.7.4.0

Would it be possible to implement a "--from-revision" or "--last" option
in "annotate" in order to find the revision that altered each line only
if in the examined range and printing "past" or something in the lines
not changed since the first revision examined?

I guess, if possible at all, this would be much faster than a full
"annotate" and would be much faster if releases are decently close one
another?

The "original problem" that led me to think about this is: trunk
monotone seems to be broken on Cygwin (see below) while 0.26 compiled
perfectly.
I did a "mtn diff -r t:monotone-0.26 xdelta.cc" but the changed lines
were many and moreover line 79 cited in the error was not changed, so
usually I would have used "annotate" to see, but it is too slow to be
usable (though I guess I'll take some tea+biscuits and launch it in the
meantime).
In this case, were I know the exact "range" the problem appeared, a
limited-rage-annotate would be quite enough and most probably much
faster than a full one.

Please note the question is only "is it possible" (and how difficult it
would be), not a request to do it ,-)
(if the second answer is "easy" I may well consider it for a bite-sized
approach at monotone's sources myself...)

-------------------------------------
if g++ -DLOCALEDIR=\"/usr/local/share/locale\" -DHAVE_CONFIG_H -I. -I.
-I.  -I./lua -I./sqlite   -DNDEBUG -DBOOST_DISABLE_THREADS
-DBOOST_SP_DISABLE_THREADS   -I/usr/include/boost-1_33_1/
-fno-strict-aliasing -Wall -W -Wno-unused -MT mtn-xdelta.o -MD -MP -MF
".deps/mtn-xdelta.Tpo" -c -o mtn-xdelta.o `test -f 'xdelta.cc' || echo
'./'`xdelta.cc; \
then mv -f ".deps/mtn-xdelta.Tpo" ".deps/mtn-xdelta.Po"; else rm -f
".deps/mtn-xdelta.Tpo"; exit 1; fi
/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/ext/hashtable.h: In member
function `size_t __gnu_cxx::hashtable<_Val, _Key, _HashFcn, _ExtractKey,
_EqualKey, _Alloc>::_M_bkt_num_key(const _Key&, size_t) const [with _Val
= std::pair<const u32, extent>, _Key = u32, _HashFcn =
hashmap::hash<u32>, _ExtractKey = std::_Select1st<std::pair<const u32,
extent> >, _EqualKey = hashmap::equal_to<u32>, _Alloc =
std::allocator<extent>]':
/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/ext/hashtable.h:508:  
instantiated from `size_t __gnu_cxx::hashtable<_Val, _Key, _HashFcn,
_ExtractKey, _EqualKey, _Alloc>::_M_bkt_num_key(const _Key&) const [with
_Val = std::pair<const u32, extent>, _Key = u32, _HashFcn =
hashmap::hash<u32>, _ExtractKey = std::_Select1st<std::pair<const u32,
extent> >, _EqualKey = hashmap::equal_to<u32>, _Alloc =
std::allocator<extent>]'
/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/ext/hashtable.h:447:  
instantiated from `__gnu_cxx::_Hashtable_iterator<_Val, _Key, _HashFcn,
_ExtractKey, _EqualKey, _Alloc> __gnu_cxx::hashtable<_Val, _Key,
_HashFcn, _ExtractKey, _EqualKey, _Alloc>::find(const _Key&) [with _Val
= std::pair<const u32, extent>, _Key = u32, _HashFcn =
hashmap::hash<u32>, _ExtractKey = std::_Select1st<std::pair<const u32,
extent> >, _EqualKey = hashmap::equal_to<u32>, _Alloc =
std::allocator<extent>]'
/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/ext/hash_map:176:  
instantiated from `typename __gnu_cxx::hashtable<std::pair<const _Key,
_Tp>, _Key, _HashFcn, std::_Select1st<std::pair<const _Key, _Tp> >,
_EqualKey, _Alloc>::iterator __gnu_cxx::hash_map<_Key, _Tp, _HashFcn,
_EqualKey, _Alloc>::find(const typename
__gnu_cxx::hashtable<std::pair<const _Key, _Tp>, _Key, _HashFcn,
std::_Select1st<std::pair<const _Key, _Tp> >, _EqualKey,
_Alloc>::key_type&) [with _Key = u32, _Tp = extent, _HashFcn =
hashmap::hash<u32>, _EqualKey = hashmap::equal_to<u32>, _Alloc =
std::allocator<extent>]'
xdelta.cc:79:   instantiated from here
/usr/lib/gcc/i686-pc-cygwin/3.4.4/include/c++/ext/hashtable.h:518:
error: no match for call to `(const hashmap::hash<u32>) (const long
unsigned int&)'

-- 
Lapo Luchini
address@hidden (OpenPGP & X.509)
www.lapo.it (Jabber, ICQ, MSN)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]