Skip to content

Commit e40e305

Browse files
committed
Merge pull request #8 from nipy/master
Update fork
2 parents 278b216 + 356b028 commit e40e305

File tree

1,224 files changed

+161180
-21338
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,224 files changed

+161180
-21338
lines changed

.gitignore

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
/nipype/build
66
/nipype/nipype.egg-info
77
/doc/_build
8+
/doc/preproc
89
/doc/users/examples
910
/doc/api/generated
1011
*.pyc
@@ -13,3 +14,10 @@
1314
.settings
1415
.pydevproject
1516
.idea/
17+
/documentation.zip
18+
.DS_Store
19+
nipype/testing/data/von-ray_errmap.nii.gz
20+
nipype/testing/data/von_errmap.nii.gz
21+
crash*.pklz
22+
.coverage
23+
htmlcov/

.mailmap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Cindee Madison <cindee@berkeley.edu> cindeem
44
Chris Filo Gorgolewski <chris.gorgolewski@gmail.com> filo <filo@filo-Precision-M6500>
55
Chris Filo Gorgolewski <chris.gorgolewski@gmail.com> Krzysztof Gorgolewski <krzysztof.gorgolewski@gmail.com>
66
Erik Ziegler <erik.ziegler@ulg.ac.be> erikz <erik.ziegler@ulg.ac.be>
7-
Michael Waskom <mwaskom@stanford.edu> mwaskom <mwaskom@stanford.edu> Michael Waskom <mwaskom@mit.edu> mwaskom <mwaskom@mit.edu>
7+
Michael Waskom <mwaskom@stanford.edu> mwaskom <mwaskom@stanford.edu> Michael Waskom <mwaskom@mit.edu> mwaskom <mwaskom@mit.edu>
88
Gael Varoquaux <gael.varoquaux@normalesup.org> GaelVaroquaux
99
Gael Varoquaux <gael.varoquaux@normalesup.org> GaelVaroquaux <gael.varoquaux@noramlesup.org>
1010
Daniel Ginsburg <daniel.ginsburg@childrens.harvard.edu> danginsburg <daniel.ginsburg@childrens.harvard.edu>

.travis.yml

Lines changed: 46 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,52 @@
1+
cache:
2+
- apt
13
language: python
24
python:
3-
- 2.6
4-
- 2.7
5-
# Setup anaconda
5+
- 2.7
6+
- 3.4
7+
env:
8+
- INSTALL_DEB_DEPENDECIES=true
9+
- INSTALL_DEB_DEPENDECIES=false
610
before_install:
7-
- if [ ${TRAVIS_PYTHON_VERSION:0:1} == "2" ]; then wget http://repo.continuum.io/miniconda/Miniconda-3.0.0-Linux-x86_64.sh -O miniconda.sh; else wget http://repo.continuum.io/miniconda/Miniconda3-3.0.0-Linux-x86_64.sh -O miniconda.sh; fi
8-
- chmod +x miniconda.sh
9-
- ./miniconda.sh -b
10-
- export PATH=/home/travis/miniconda/bin:$PATH
11-
# The next couple lines fix a crash with multiprocessing on Travis
12-
- sudo rm -rf /dev/shm
13-
- sudo ln -s /run/shm /dev/shm
14-
- bash <(wget -q -O- http://neuro.debian.net/_files/neurodebian-travis.sh)
15-
- travis_retry sudo apt-get install -qq --no-install-recommends fsl afni
16-
- travis_retry sudo apt-get install -qq fsl-atlases
17-
- source /etc/fsl/fsl.sh
18-
19-
# Install packages
11+
- if [ ${TRAVIS_PYTHON_VERSION:0:1} == "2" ]; then wget http://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh
12+
-O miniconda.sh; else wget http://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
13+
-O miniconda.sh; fi
14+
- chmod +x miniconda.sh
15+
- "./miniconda.sh -b"
16+
- if [ ${TRAVIS_PYTHON_VERSION:0:1} == "2" ]; then export PATH=/home/travis/miniconda2/bin:$PATH; else export PATH=/home/travis/miniconda3/bin:$PATH; fi
17+
- if $INSTALL_DEB_DEPENDECIES; then sudo rm -rf /dev/shm; fi
18+
- if $INSTALL_DEB_DEPENDECIES; then sudo ln -s /run/shm /dev/shm; fi
19+
- if $INSTALL_DEB_DEPENDECIES; then bash <(wget -q -O- http://neuro.debian.net/_files/neurodebian-travis.sh);
20+
fi
21+
- if $INSTALL_DEB_DEPENDECIES; then travis_retry sudo apt-get install -qq --no-install-recommends
22+
fsl afni elastix; fi
23+
- if $INSTALL_DEB_DEPENDECIES; then travis_retry sudo apt-get install -qq fsl-atlases;
24+
fi
25+
- if $INSTALL_DEB_DEPENDECIES; then source /etc/fsl/fsl.sh; fi
26+
- if $INSTALL_DEB_DEPENDECIES; then source /etc/afni/afni.sh; fi
27+
- export FSLOUTPUTTYPE=NIFTI_GZ
2028
install:
21-
- conda update --yes conda
22-
- conda create -n testenv --yes pip python=$TRAVIS_PYTHON_VERSION
23-
- source activate testenv
24-
- if [ ${TRAVIS_PYTHON_VERSION:0:1} == "2" ]; then pip install ordereddict; fi
25-
- conda install --yes numpy scipy nose traits networkx dateutil
26-
- pip install nibabel --use-mirrors
27-
- pip install python-coveralls --use-mirrors
28-
- pip install nose-cov --use-mirrors
29-
- pip install https://github.com/RDFLib/rdflib/archive/master.zip
30-
- pip install https://github.com/satra/prov/archive/enh/rdf.zip
31-
- python setup.py install
32-
33-
# Run test
29+
- conda update --yes conda
30+
- conda create -n testenv --yes pip python=$TRAVIS_PYTHON_VERSION
31+
- source activate testenv
32+
- if [ ${TRAVIS_PYTHON_VERSION:0:1} == "2" ]; then pip install ordereddict; fi
33+
- conda install --yes numpy scipy nose networkx dateutil
34+
- if [ ${TRAVIS_PYTHON_VERSION:0:1} == "2" ]; then conda install --yes traits; else pip install traits; fi
35+
- pip install python-coveralls
36+
- pip install nose-cov
37+
- pip install -r requirements.txt # finish remaining requirements
38+
- python setup.py install
3439
script:
35-
- nosetests --with-doctest --with-cov --cov nipype --cov-config .coveragerc --logging-level=INFO
36-
37-
# Calculate coverage
40+
- python -W once:FSL:UserWarning:nipype `which nosetests` --with-doctest --with-cov --cover-package nipype --cov-config .coveragerc --logging-level=INFO
3841
after_success:
39-
- coveralls --config_file .coveragerc
42+
- coveralls --config_file .coveragerc
43+
deploy:
44+
provider: pypi
45+
user: satra
46+
password:
47+
secure: OCO0FXb4f+pH4Uw7zWCIRp3qOJ1t7rhky4K8MjNU8tyVCJgd6O/Bv8GJgceS0LktPodlAAjB8SxAhTORPAQZ1D/44PJYy3NQIisvej1zjLpaA9TEGfl6W7MqhDpRyMHW+cnSi/n84SAmdr+Z4vOxScDHdwr13EPmGyOIlHMAGnE=
48+
on:
49+
tags: true
50+
repo: nipy/nipype
51+
branch: master
52+
distributions: "sdist bdist_wheel"

CHANGES

Lines changed: 144 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,148 @@
1-
Next Release
1+
Next release
22
============
33

4-
* ENH: New ANTs interface: ApplyTransformsToPoints
4+
* TST: Cache APT in CircleCI (https://github.com/nipy/nipype/pull/1333)
5+
* ENH: Add new flags to the BRAINSABC for new features (https://github.com/nipy/nipype/pull/1322)
6+
* ENH: Provides a Nipype wrapper for ANTs DenoiseImage (https://github.com/nipy/nipype/pull/1291)
7+
* FIX: Minor bugfix logging hash differences (https://github.com/nipy/nipype/pull/1298)
8+
* FIX: Use released Prov python library (https://github.com/nipy/nipype/pull/1279)
9+
* ENH: Support for Python 3 (https://github.com/nipy/nipype/pull/1221)
10+
* FIX: VTK version check missing when using tvtk (https://github.com/nipy/nipype/pull/1219)
11+
* ENH: Added an OAR scheduler plugin (https://github.com/nipy/nipype/pull/1259)
12+
* ENH: New ANTs interface: antsBrainExtraction (https://github.com/nipy/nipype/pull/1231)
13+
* API: Default model level for the bedpostx workflow has been set to "2" following FSL 5.0.9 lead
14+
* ENH: New interfaces for interacting with AWS S3: S3DataSink and S3DataGrabber (https://github.com/nipy/nipype/pull/1201)
15+
* ENH: Interfaces for MINC tools (https://github.com/nipy/nipype/pull/1304)
16+
17+
Release 0.11.0 (September 15, 2015)
18+
============
19+
20+
* API: Change how hash values are computed (https://github.com/nipy/nipype/pull/1174)
21+
* ENH: New algorithm: mesh.WarpPoints applies displacements fields to point sets
22+
(https://github.com/nipy/nipype/pull/889).
23+
* ENH: New interfaces for MRTrix3 (https://github.com/nipy/nipype/pull/1126)
24+
* ENH: New option in afni.3dRefit - zdel, ydel, zdel etc. (https://github.com/nipy/nipype/pull/1079)
25+
* FIX: ants.Registration composite transform outputs are no longer returned as lists (https://github.com/nipy/nipype/pull/1183)
26+
* BUG: ANTs Registration interface failed with multi-modal inputs
27+
(https://github.com/nipy/nipype/pull/1176) (https://github.com/nipy/nipype/issues/1175)
28+
* ENH: dipy.TrackDensityMap interface now accepts a reference image (https://github.com/nipy/nipype/pull/1091)
29+
* FIX: Bug in XFibres5 (https://github.com/nipy/nipype/pull/1168)
30+
* ENH: Attempt to use hard links for data sink.
31+
(https://github.com/nipy/nipype/pull/1161)
32+
* FIX: Updates to SGE Plugins
33+
(https://github.com/nipy/nipype/pull/1129)
34+
* ENH: Add ants JointFusion() node with testing
35+
(https://github.com/nipy/nipype/pull/1160)
36+
* ENH: Add --float option for antsRegistration calls
37+
(https://github.com/nipy/nipype/pull/1159)
38+
* ENH: Added interface to simulate DWIs using the multi-tensor model
39+
(https://github.com/nipy/nipype/pull/1085)
40+
* ENH: New interface for FSL fslcpgeom utility (https://github.com/nipy/nipype/pull/1152)
41+
* ENH: Added SLURMGraph plugin for submitting jobs to SLURM with dependencies (https://github.com/nipy/nipype/pull/1136)
42+
* FIX: Enable absolute path definitions in DCMStack (https://github.com/nipy/nipype/pull/1089,
43+
replaced by https://github.com/nipy/nipype/pull/1093)
44+
* ENH: New mesh.MeshWarpMaths to operate on surface-defined warpings
45+
(https://github.com/nipy/nipype/pull/1016)
46+
* FIX: Refactor P2PDistance, change name to ComputeMeshWarp, add regression tests,
47+
fix bug in area weighted distance, and added optimizations
48+
(https://github.com/nipy/nipype/pull/1016)
49+
* ENH: Add an option not to resubmit Nodes that finished running when using SGEGraph (https://github.com/nipy/nipype/pull/1002)
50+
* FIX: FUGUE is now properly listing outputs. (https://github.com/nipy/nipype/pull/978)
51+
* ENH: Improved FieldMap-Based (FMB) workflow for correction of susceptibility distortions in EPI seqs.
52+
(https://github.com/nipy/nipype/pull/1019)
53+
* FIX: In the FSLXcommand _list_outputs function fixed for loop range (https://github.com/nipy/nipype/pull/1071)
54+
* ENH: Dropped support for now 7 years old Python 2.6 (https://github.com/nipy/nipype/pull/1069)
55+
* FIX: terminal_output is not mandatory anymore (https://github.com/nipy/nipype/pull/1070)
56+
* ENH: Added "nipype_cmd" tool for running interfaces from the command line (https://github.com/nipy/nipype/pull/795)
57+
* FIX: Fixed Camino output naming (https://github.com/nipy/nipype/pull/1061)
58+
* ENH: Add the average distance to ErrorMap (https://github.com/nipy/nipype/pull/1039)
59+
* ENH: Inputs with name_source can be now chained in cascade (https://github.com/nipy/nipype/pull/938)
60+
* ENH: Improve JSON interfaces: default settings when reading and consistent output creation
61+
when writing (https://github.com/nipy/nipype/pull/1047)
62+
* FIX: AddCSVRow problems when using infields (https://github.com/nipy/nipype/pull/1028)
63+
* FIX: Removed unused ANTS registration flag (https://github.com/nipy/nipype/pull/999)
64+
* FIX: Amend create_tbss_non_fa() workflow to match FSL's tbss_non_fa command. (https://github.com/nipy/nipype/pull/1033)
65+
* FIX: remove unused mandatory flag from spm normalize (https://github.com/nipy/nipype/pull/1048)
66+
* ENH: Update ANTSCorticalThickness interface (https://github.com/nipy/nipype/pull/1013)
67+
* FIX: Edge case with sparsemodels and PEP8 cleanup (https://github.com/nipy/nipype/pull/1046)
68+
* ENH: New io interfaces for JSON files reading/writing (https://github.com/nipy/nipype/pull/1020)
69+
* ENH: Enhanced openfmri script to support freesurfer linkage (https://github.com/nipy/nipype/pull/1037)
70+
* BUG: matplotlib is supposed to be optional (https://github.com/nipy/nipype/pull/1003)
71+
* FIX: Fix split_filename behaviour when path has no file component (https://github.com/nipy/nipype/pull/1035)
72+
* ENH: Updated FSL dtifit to include option for grad non-linearities (https://github.com/nipy/nipype/pull/1032)
73+
* ENH: Updated Camino tracking interfaces, which can now use FSL bedpostx output.
74+
New options also include choice of tracker, interpolator, stepsize and
75+
curveinterval for angle threshold (https://github.com/nipy/nipype/pull/1029)
76+
* FIX: Interfaces redirecting X crashed if $DISPLAY not defined (https://github.com/nipy/nipype/pull/1027)
77+
* FIX: Bug crashed 'make api' (https://github.com/nipy/nipype/pull/1026)
78+
* ENH: Updated antsIntroduction to handle RA and RI registrations (https://github.com/nipy/nipype/pull/1009)
79+
* ENH: Updated N4BiasCorrection input spec to include weight image and spline order. Made
80+
argument formatting consistent. Cleaned ants.segmentation according to PEP8.
81+
(https://github.com/nipy/nipype/pull/990/files)
82+
* ENH: SPM12 Normalize interface (https://github.com/nipy/nipype/pull/986)
83+
* FIX: Utility interface test dir (https://github.com/nipy/nipype/pull/986)
84+
* FIX: IPython engine directory reset after crash (https://github.com/nipy/nipype/pull/987)
85+
* ENH: Resting state fMRI example with NiPy realignment and no SPM (https://github.com/nipy/nipype/pull/992)
86+
* FIX: Corrected Freesurfer SegStats _list_outputs to avoid error if summary_file is
87+
undefined (issue #994)(https://https://github.com/nipy/nipype/pull/996)
88+
* FIX: OpenfMRI support and FSL 5.0.7 changes (https://github.com/nipy/nipype/pull/1006)
89+
* FIX: Output prefix in SPM Normalize with modulation (https://github.com/nipy/nipype/pull/1023)
90+
* ENH: Usability improvements in cluster environments (https://github.com/nipy/nipype/pull/1025)
91+
* ENH: ANTs JointFusion() (https://github.com/nipy/nipype/pull/1042)
92+
* ENH: Added csvReader() utility (https://github.com/nipy/nipype/pull/1044)
93+
* FIX: typo in nipype.interfaces.freesurfer.utils.py Tkregister2 (https://github.com/nipy/nipype/pull/1083)
94+
* FIX: SSHDataGrabber outputs now return full path to the grabbed/downloaded files. (https://github.com/nipy/nipype/pull/1086)
95+
* FIX: Add QA output for TSNR to resting workflow (https://github.com/nipy/nipype/pull/1088)
96+
* FIX: Change N4BiasFieldCorrection to use short tag for dimensionality (backward compatible) (https://github.com/nipy/nipype/pull/1096)
97+
* ENH: Added -newgrid input to Warp in AFNI (3dWarp wrapper) (https://github.com/nipy/nipype/pull/1128)
98+
* FIX: Fixed AFNI Copy interface to use positional inputs as required (https://github.com/nipy/nipype/pull/1131)
99+
* ENH: Added a check in Dcm2nii to check if nipype created the config.ini file and remove if true (https://github.com/nipy/nipype/pull/1132)
100+
* ENH: Use a while loop to wait for Xvfb (up to a max wait time "xvfb_max_wait" in config file, default 10)
101+
(https://github.com/nipy/nipype/pull/1142)
102+
103+
Release 0.10.0 (October 10, 2014)
104+
============
105+
106+
* ENH: New miscelaneous interfaces: SplitROIs (mapper), MergeROIs (reducer)
107+
to enable parallel processing of very large images.
108+
* ENH: Updated FSL interfaces: BEDPOSTX and XFibres, former interfaces are still
109+
available with the version suffix: BEDPOSTX4 and XFibres4. Added gpu
110+
versions of BEDPOSTX: BEDPOSTXGPU, BEDPOSTX5GPU, and BEDPOSTX4GPU
111+
* ENH: Added experimental support for MIPAV algorithms thorugh JIST plugins
112+
* ENH: New dipy interfaces: Denoise, Resample
113+
* ENH: New Freesurfer interfaces: Tkregister2 (for conversion of fsl style matrices to freesurfer format), MRIPretess
114+
* ENH: New FSL interfaces: WarpPoints, WarpPointsToStd, EpiReg, ProbTrackX2, WarpUtils, ConvertWarp
115+
* ENH: New miscelaneous interfaces: AddCSVRow, NormalizeProbabilityMapSet, AddNoise
116+
* ENH: New AFNI interfaces: Eval, Means, SVMTest, SVMTrain
117+
* ENH: FUGUE interface has been refactored to use the name_template system, 3 examples
118+
added to doctests, some bugs solved.
119+
* API: Interfaces to external packages are no longer available in the top-level
120+
``nipype`` namespace, and must be imported directly (e.g.
121+
``from nipype.interfaces import fsl``).
122+
* ENH: Support for elastix via a set of new interfaces: Registration, ApplyWarp,
123+
AnalyzeWarp, PointsWarp, and EditTransform
124+
* ENH: New ANTs interface: ApplyTransformsToPoints, LaplacianThickness
125+
* ENH: New Diffusion Toolkit interface: TrackMerge
126+
* ENH: New MRtrix interface: FilterTracks
127+
* ENH: New metrics group in algorithms. Now Distance, Overlap, and FuzzyOverlap
128+
are found in nipype.algorithms.metrics instead of misc. Overlap interface
129+
extended to allow files containing multiple ROIs and volume physical units.
130+
* ENH: New interface in algorithms.metrics: ErrorMap (a voxel-wise diff map).
131+
* ENH: New FreeSurfer workflow: create_skullstripped_recon_flow()
132+
* ENH: Deep revision of workflows for correction of dMRI artifacts. New dmri_preprocessing
133+
example.
134+
* ENH: New data grabbing interface that works over SSH connections, SSHDataGrabber
135+
* ENH: New color mode for write_graph
136+
* ENH: You can now force MapNodes to be run serially
137+
* ENH: Added ANTS based openfmri workflow
138+
* ENH: MapNode now supports flattening of nested lists
139+
* ENH: Support for headless mode using Xvfb
140+
* ENH: nipype_display_crash has a debugging mode
5141
* FIX: MRTrix tracking algorithms were ignoring mask parameters.
142+
* FIX: FNIRT registration pathway and associated OpenFMRI example script
143+
* FIX: spm12b compatibility for Model estimate
144+
* FIX: Batch scheduler controls the number of maximum jobs properly
145+
* FIX: Update for FSL 5.0.7 which deprecated Contrast Manager
6146

7147
Release 0.9.2 (January 31, 2014)
8148
============
@@ -23,7 +163,8 @@ Release 0.9.0 (December 20, 2013)
23163
* ENH: new tools for defining workflows: JoinNode, synchronize and itersource
24164
* ENH: W3C PROV support with optional RDF export built into Nipype
25165
* ENH: Added support for Simple Linux Utility Resource Management (SLURM)
26-
* ENH: AFNI interfaces refactor, prefix, suffix are replaced by "flexible_%s_templates"
166+
* ENH: AFNI interfaces refactor, prefix, suffix are replaced by
167+
"flexible_%s_templates"
27168
* ENH: New SPM interfaces:
28169
- spm.ResliceToReference,
29170
- spm.DicomImport

CONTRIBUTING.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
## Contributing pull-requests (PRs)
2+
3+
* All work is submitted via Pull Requests.
4+
* Pull Requests can be submitted as soon as there is code worth discussing.
5+
Pull Requests track the branch, so you can continue to work after the PR is submitted.
6+
Review and discussion can begin well before the work is complete,
7+
and the more discussion the better.
8+
The worst case is that the PR is closed.
9+
* Pull Requests should generally be made against master
10+
* Pull Requests should be tested, if feasible:
11+
- bugfixes should include regression tests
12+
- new behavior should at least get minimal exercise
13+
* Use a descriptive prefix for your PR: ENH, FIX, TST, DOC, STY, REF (refactor), WIP (Work in progress)
14+
* After submiting the PR, include an update to the CHANGES file: prefix: description (URL of pull request)
15+
* `make specs`
16+
* do: `make check-before-commit` before submitting the PR. This will require you to either install or be in developer mode with: `python setup.py install/develop`.
17+
18+
## Contributing issues
19+
20+
When opening a new Issue, please take the following steps:
21+
22+
1. Search GitHub and/or [Neurostars](neurostars.org) for your issue to avoid duplicate reports.
23+
Keyword searches for your error messages are most helpful.
24+
2. If possible, try updating to master and reproducing your issue,
25+
because we may have already fixed it.
26+
3. OS and version
27+
4. Nipype version
28+
5. Output of: `import nipype; nipype.get_info()`
29+
6. Versions of underlying tools (e.g., ANTS, FSL, SPM, etc.,.)
30+
7. Any script, or output log, in a gist (gist.github.com)
31+
8. When applicable, and where possible, pointers to relevant data files.

MANIFEST.in

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,4 @@ include doc/documentation.zip
1010
include nipype/COMMIT_INFO.txt
1111

1212
recursive-include doc *
13-
recursive-include matlabscripts *
1413
recursive-include tools *

Makefile

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
PYTHON ?= python
66
NOSETESTS ?= nosetests
77

8+
.PHONY: zipdoc sdist egg upload_to_pypi trailing-spaces clean-pyc clean-so clean-build clean-ctags clean in inplace test-code test-doc test-coverage test html specs check-before-commit check
9+
810
zipdoc: html
911
zip documentation.zip doc/_build/html
1012

@@ -26,7 +28,7 @@ upload_to_pypi: zipdoc
2628
python setup.py sdist --formats=zip,gztar upload
2729

2830
trailing-spaces:
29-
find . -name "*.py" | xargs perl -pi -e 's/[ \t]*$$//'
31+
find . -name "*[.py|.rst]" -type f | xargs perl -pi -e 's/[ \t]*$$//'
3032
@echo "Reverting test_docparse"
3133
git checkout nipype/utils/tests/test_docparse.py
3234

@@ -70,7 +72,8 @@ specs:
7072
@echo "Checking specs and autogenerating spec tests"
7173
python tools/checkspecs.py
7274

73-
check-before-commit: trailing-spaces html test specs
75+
check: check-before-commit # just a shortcut
76+
check-before-commit: specs trailing-spaces html test
7477
@echo "removed spaces"
7578
@echo "built docs"
7679
@echo "ran test"

0 commit comments

Comments
 (0)