How to add file extension syntax highlighting to vi.
Whack this in your ~/.vimrc
au BufNewFile,BufRead *.tt set filetype=perl
(source)
A piggy bank of commands, fixes, succinct reviews, some mini articles and technical opinions from a (mostly) Perl developer.
Jump to
How to use git with an svn repo
Do you have a subversion repo? Think you're stuck with outdated subversion workflows? Not anymore! Use the fabulous git to work with your subversion hosted code:
git svn clone https://example.com/path/to/trunk -T trunk -b branches -t tags
(may take a long time with large repos, e.g. several days)
Now you can rebase your code! You can do all your work with git - easily branch, stash, rebase, blame, etc. - and when you're done, push back to subversion.
(source)
See subversion branches:
git branch -r
Update the git repo (may take several hours for large repos - you don't need to run this more than once):
git svn fetch --fetch-all
Update the current branch (run this on trunk/master instead of "fetch" above):
git svn rebase
(source)
git svn clone https://example.com/path/to/trunk -T trunk -b branches -t tags
(may take a long time with large repos, e.g. several days)
Now you can rebase your code! You can do all your work with git - easily branch, stash, rebase, blame, etc. - and when you're done, push back to subversion.
(source)
See subversion branches:
git branch -r
Update the git repo (may take several hours for large repos - you don't need to run this more than once):
git svn fetch --fetch-all
Update the current branch (run this on trunk/master instead of "fetch" above):
git svn rebase
(source)
Temporarily skip a test until a specific date
The job of a test suite is to alert the developers of a potential problem. Once that's happened, the only value in continuing to fail is to nag and remind them to make a change. In real life sometimes fixing issues takes a long time. If they're already tracking changes in a ticketing system, or actively working on a fix, the failure becomes noise, and can hide other unexpected failures. There should be no such thing as an "okay failure" which can be ignored - you need to stop it failing if the fix is already planned. But you don't want to risk forgetting about it. So you can disable it for a short time, to allow the developer to fix the underlying issue. In the future, perhaps CI frameworks might feature a Nagios-style "acknowledge" function.
This is one solution for now:
use Test::More;
use DateTime;
my $expected_to_fail = (
($test_data = 'foo')
&&
! deadline_has_passed( DateTime->new( year => 2014, month => 11, day => 23 ) # the future
) ? 1 : 0;
SKIP: {
skip "while we do something (ticket ID)", 1 if $expected_to_fail;
ok( "some test" );
}
sub deadline_has_passed {
my ($deadline) = @_;
my $today = DateTime->now; #->add( days => 30 );
my $deadline_has_passed = (DateTime->compare( $today, $deadline ) < 1) ? 0 : 1;
# debug
#note("today = ".$today->ymd);
#note("deadline = ".$deadline->ymd);
#note("compare today,deadline => ". DateTime->compare( $today, $deadline ));
#note("has deadline passed? $deadline_has_passed");
return $deadline_has_passed;
}
This is one solution for now:
use Test::More;
use DateTime;
my $expected_to_fail = (
($test_data = 'foo')
&&
! deadline_has_passed( DateTime->new( year => 2014, month => 11, day => 23 ) # the future
) ? 1 : 0;
SKIP: {
skip "while we do something (ticket ID)", 1 if $expected_to_fail;
ok( "some test" );
}
sub deadline_has_passed {
my ($deadline) = @_;
my $today = DateTime->now; #->add( days => 30 );
my $deadline_has_passed = (DateTime->compare( $today, $deadline ) < 1) ? 0 : 1;
# debug
#note("today = ".$today->ymd);
#note("deadline = ".$deadline->ymd);
#note("compare today,deadline => ". DateTime->compare( $today, $deadline ));
#note("has deadline passed? $deadline_has_passed");
return $deadline_has_passed;
}
Subscribe to:
Posts (Atom)