Quiero aplicar los cambios a continuación a algún código que alguien ha escrito y proporcionado un diff
salida de. ¿Hay alguna forma de obtener solo la salida a continuación, puedo crear fácilmente un parche y aplicarlo, o (ya que solo son unas pocas líneas) debería seguir haciendo los cambios a mano?
Incluso excluyendo el siguiente ejemplo, si esto fuera un gran diff
salida entonces realmente querría saber si solo doy esto, ¿puedo introducir esto en patch
¿o similar?
diff -r -c ganeti-2.5.1_orig/lib//constants.py
ganeti-2.5.1/lib//constants.py
*** ganeti-2.5.1_orig/lib//constants.py 2012-05-11 16:55:13.000000000 +0400
--- ganeti-2.5.1/lib//constants.py 2012-06-28 13:30:41.000000000 +0400
***************
*** 698,703 ****
--- 698,704 ----
HV_KVM_USE_CHROOT = "use_chroot"
HV_CPU_MASK = "cpu_mask"
HV_MEM_PATH = "mem_path"
+ HV_PASSTHROUGH = "pci_pass"
HV_BLOCKDEV_PREFIX = "blockdev_prefix"
HV_REBOOT_BEHAVIOR = "reboot_behavior"
***************
*** 743,748 ****
--- 744,750 ----
HV_KVM_USE_CHROOT: VTYPE_BOOL,
HV_CPU_MASK: VTYPE_STRING,
HV_MEM_PATH: VTYPE_STRING,
+ HV_PASSTHROUGH: VTYPE_STRING,
HV_BLOCKDEV_PREFIX: VTYPE_STRING,
HV_REBOOT_BEHAVIOR: VTYPE_STRING,
}
***************
*** 1280,1285 ****
--- 1282,1288 ----
HV_MIGRATION_MODE: HT_MIGRATION_NONLIVE,
HV_USE_LOCALTIME: False,
HV_BLOCKDEV_PREFIX: "hd",
+ HV_PASSTHROUGH: "",
HV_REBOOT_BEHAVIOR: INSTANCE_REBOOT_ALLOWED,
},
HT_KVM: {
diff -r -c ganeti-2.5.1_orig/lib//hypervisor/hv_xen.py
ganeti-2.5.1/lib//hypervisor/hv_xen.py
*** ganeti-2.5.1_orig/lib//hypervisor/hv_xen.py 2012-05-11
16:55:13.000000000 +0400
--- ganeti-2.5.1/lib//hypervisor/hv_xen.py 2012-06-28
13:30:43.000000000 +0400
***************
*** 579,585 ****
constants.HV_USE_LOCALTIME: hv_base.NO_CHECK,
# TODO: Add a check for the blockdev prefix (matching [a-z:] or
similar).
constants.HV_BLOCKDEV_PREFIX: hv_base.NO_CHECK,
! constants.HV_REBOOT_BEHAVIOR:
hv_base.ParamInSet(True, constants.REBOOT_BEHAVIORS)
}
--- 579,587 ----
constants.HV_USE_LOCALTIME: hv_base.NO_CHECK,
# TODO: Add a check for the blockdev prefix (matching [a-z:] or
similar).
constants.HV_BLOCKDEV_PREFIX: hv_base.NO_CHECK,
! #passthrough pci
! constants.HV_PASSTHROUGH: hv_base.NO_CHECK,
! constants.HV_REBOOT_BEHAVIOR:
hv_base.ParamInSet(True, constants.REBOOT_BEHAVIORS)
}
***************
*** 671,677 ****
disk_data.append(iso)
config.write("disk = [%s]\n" % (",".join(disk_data)))
!
config.write("on_poweroff = 'destroy'\n")
if hvp[constants.HV_REBOOT_BEHAVIOR] ==
constants.INSTANCE_REBOOT_ALLOWED:
config.write("on_reboot = 'restart'\n")
--- 673,684 ----
disk_data.append(iso)
config.write("disk = [%s]\n" % (",".join(disk_data)))
! # this is pci pass
! pci_pass = hvp[constants.HV_PASSTHROUGH]
! if pci_pass:
! pci_pass_arr = []
! pci_pass_arr = pci_pass.split("/")
! config.write("pci = %s \n" % pci_pass_arr)
config.write("on_poweroff = 'destroy'\n")
if hvp[constants.HV_REBOOT_BEHAVIOR] ==
constants.INSTANCE_REBOOT_ALLOWED:
config.write("on_reboot = 'restart'\n")
diff -r -c ganeti-2.5.1_orig/lib//query.py ganeti-2.5.1/lib//query.py
*** ganeti-2.5.1_orig/lib//query.py 2012-05-11 16:55:13.000000000 +0400
--- ganeti-2.5.1/lib//query.py 2012-06-28 13:30:43.000000000 +0400
***************
*** 1638,1643 ****
--- 1638,1644 ----
constants.HV_NIC_TYPE: "NIC_type",
constants.HV_PAE: "PAE",
constants.HV_VNC_BIND_ADDRESS: "VNC_bind_address",
+ constants.HV_PASSTHROUGH: "pci_pass",
}
fields = [
Respuestas:
Si puedes usar
patch
para aplicar este diff a un archivo. Guardalo comofoo.diff
y aplícalo así:fuente
patch
toma directodiff
salida como entrada. No me di cuenta de que entendería el formato dediff
directamente y aunque tenga que ser formateado correctamente parapatch
. ¡Gracias!