10. ApplicationsApplications
Recovery log
all thetimesaveevery changeon diskall thetimesaveevery changeon disk
Auditing
who changed what, when and howwho changed what, when and how
Local redo (can beused for undo)Local redo (can beused for undo)
right click on any object and list all itschanges
ScriptingScripting
usethechangessystem asascripting language
11. Applications continuedApplications continued
Demos&Tutorials
demo your system by replaying changesdemo your system by replaying changes
Overcomeback compatibility issues
recreateold projectsfrom their changesrecreateold projectsfrom their changes
MergingMerging
merging changesiseasier than merging objects
User supportUser support
solvetheuser sproblem and send back the
changeschanges
12. Applications continuedApplications continued
Bug reporting
send thechangesthat exhibit adefectsend thechangesthat exhibit adefect
don t know what you did?look at thechanges!
TestingTesting
look at thechangesto writeunit tests
Regression
build alibrary of scriptsto test your systembuild alibrary of scriptsto test your system
Learning (new programmers)
usethechangesasdebugging entry pointsusethechangesasdebugging entry points
13. Applications continuedApplications continued
Metrics
count thenumber of commandsyour userscancount thenumber of commandsyour userscan
perform
how many keystrokesdoesyour softwarerequire?how many keystrokesdoesyour softwarerequire?
measureuser dedication and productivity
which areasof your softwarearemoreheavilywhich areasof your softwarearemoreheavily
used?
understand users workflowsunderstand users workflows
discover bad practicepatterns
14. Applications continuedApplications continued
Teamwork
combinechangesfrom different contributorsintocombinechangesfrom different contributorsinto
thesamemodel
DatabaseconflictsDatabaseconflicts
let usersrecover conflicting changesthat did not
get committedget committed
Database: automated check-in/check-out
1. download aproject from thedatabase1. download aproject from thedatabase
2. work at home
3. apply your changesback to therepository3. apply your changesback to therepository
23. QuestionsQuestions
Haveyou implemented all theapplications
described here?described here?
Haveyou used thechangessystem to analyze
theworkflow of end-users?theworkflow of end-users?
Doesthechangessystem impact the
performance?performance?
What'stheoverhead for programmers?
What if argumentsarenot literals?What if argumentsarenot literals?
Can your system log any user action?